我想要一个表单一次编辑一个新的子对象和父对象(具有很多关系)。如果我使用@child = @parent.children.new
在控制器中创建一个新子项,则以下方法有效,但它会显示所有现有子项的输入字段。
<%= simple_form_for @parent do |p| %>
<%= p.input :parent_attribute %>
<%= p.simple_fields_for :children do |c| %>
<%= c.input :child_attribute %>
<% end %>
<% end %>
如何仅为创建的单个新子项显示表单输入字段?
答案 0 :(得分:1)
如果要在父表单中显示新的单个子表单,可以执行以下操作:
simple_fields_for
请注意,您必须同时指定子模型名称以及子模型对象fields_for
(或<%= m.simple_form_for @child do |c| %>
<%= c.input :child_attribute %>
<% end %>
)以引用特定模型对象。
如果您只想显示新的单个子表单,可以执行以下操作:
{{1}}
这将仅为新的子记录创建表单。