2012-11-02 110 views
1

我想連接兩個實體(項目和問題),Rails說出了一些錯誤消息,但我不知道該怎麼辦。你能幫我修好嗎?非常感謝。Rails中的參數錯誤

Error screen

回答

1

不知道你的正在嘗試做的,但它看起來像你有一個嵌套的資源,因此希望將數組傳遞給form_for,但你實際上是通過兩個獨立的對象。變化:

<%= form_for(@project, @project.issues.build) do |f| %> 

到:

<%= form_for([@project, @project.issues.build]) do |f| %> 

隨着這一變化,你會經過一個數組form_for,而不是兩個參數。

+0

是的,它有幫助,但還有一個:) http://ukaz.at/3b7 – medy75

+0

'@ issue'是'nil'。你的控制器是什麼樣的? – Mischa

+0

IssueController - https://gist.github.com/4001328 ProjectController - https://gist.github.com/4001332 – medy75

0

我認爲你已經使用嵌套資源是這樣的:

resources projects do 
    resources issues 
end 

如果您使用的是,儘量讓你的表格是這樣的:

<%= form_for([@project, @issue]) do |f| %> 

,並在您IssueController:

def new 
    @project = Project.new 
    @issue = @project.issues.build(params[:issue]) 
end 

def create 
    @project = Project.find(params[:project_id] 
    @issue = @project.issues.create(params[:issue] 
end 

並再次運行以查看發生的事情。希望這個幫助。

+0

你是對的資源。但是在修改_form到@issue和controller之後,它會寫入:NilClass的undefined方法'model_name':類 – medy75

+0

您能顯示Project和Issue模型嗎? – Thanh

+0

問題 - https://gist.github.com/4001616 項目 - https://gist.github.com/4001621 – medy75

相關問題