2013-03-27 35 views
0

我回到了相對「老書」Head First rails,這是Rails 2.3發佈的。 現在,通過這些示例再次回顧並使用Rails 3,我提出了一些問題。rails 3如何關聯一個沒有批量分配錯誤的新對象

假設我正在調整椰子氣道樣本,而不是航班和座位,我有一個項目和任務。

頁面顯示項目說明,並在下方列出與該項目相關的任務。到現在爲止還挺好。現在下面有一個表格來創建新的任務。該任務需要一個Task對象和project_id。這裏是事情不像以前那樣工作的時候。

,如果你想這樣做像舊風格,你會鍵入:

<%= render :partial => "new_task", 
    :locals => {:task => Task.new(@project.id)} %> 

好,這正顯示出大衆分配錯誤。

然後我試圖通過既作爲參數:

<%= render :partial => "new_task", 
    :locals => {:task => Task.new, :project_id => @project.id} %> 

併爲其分配在部分

<%= f.hidden_field :project_id, :value => project_id %> 

任何暗示?

編輯:

類任務<的ActiveRecord :: Base的 belongs_to的:項目 attr_accessible:標題 結束

類項目<的ActiveRecord :: Base的 的has_many:任務 attr_accessible:描述:標題 end

+1

您的模型attr_accessible的外觀如何? – lflores 2013-03-27 21:10:34

+0

我剛剛添加了這些模式。我應該在任務中添加對project_id的訪問嗎? – 2013-03-27 21:17:27

+0

這似乎工作,如果你把這個作爲答案我會標記爲正確的。非常感謝 – 2013-03-27 21:22:17

回答

0

如果您更改模型的attr_accessible,則可以包含要創建的這些分配。有關attr_accessible和mass assignment的更多信息,請參閱:Ruby on Rails API

相關問題