2011-06-12 97 views
0

當我有這種形式:belongs_to的關聯不被創建使用collection.build

<%= form_for(@debate.debates.build) do |support_form| %> 
    <div> 
    <%= support_form.label :content %><br /> 
    <%= support_form.text_area :content %> 
    </div> 
    <%= support_form.hidden_field :is_supporting, :value => is_supporting %> 
    <div class="actions"> 
    <%= support_form.submit %> 
    </div> 
<% end %> 

每個辯論的has_many辯論和屬於辯論(樹結構),並@ debate.debates.build應該創建一個新的辯論是@debate的孩子,但是@ debate.debates.build創建的辯論總是沒有

當我在irb中運行相同的代碼時,雖然關聯設置正確,辯論新辯論的身份就是它的父母,就是我想要的。

怎麼回事?我怎樣才能確保新的辯論有其正確的家長辯論ID設置?

回答

0

它在內存中構建它,但我不認爲它實際上保存它直到保存運行,大概是在窗體的收件人操作中,可能是控制器的創建操作。

爲了達到這個目的,辯論ID(debate_id?你沒有展示足夠的模型)可能也需要在表單中。

最後,該問題可能與attr_accessibleattr_protected問題有關。如果不允許將辯論標識設置爲批量屬性更新的一部分,則可能會在提交中丟失。

+0

是的,我不得不把辯論ID放在表格中。謝謝 – Drew 2011-06-12 22:04:55

相關問題