我有两个模型:页面有很多部分。我没有使用嵌套资源,因为还有第三种模型。在我的 page#show 中,我有一个链接来创建属于当前页面的新部分:
<%= link_to 'New Section', new_section_path(:page_id => @page) %>
在我的剖面视图形式中,我有:
<%= form_for(@section) do |f| %>
.
.
.
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<%= f.hidden_field :page_id, :value => params["page_id"] %>
<div class="actions">
<%= f.submit %>
</div>
当然,问题在于这会将 page_id 正确地传递到新的 Section 表单中,但是当用户通过编辑路径返回表单时,params["page_id"] 为空。我想在创建时设置 page_id 一次,并且永远不要再更改它(也许有一种方法可以创建一个从表单中删除该隐藏字段的条件,或者更简洁的方法?)。
非常感谢你的帮助。