在我的Rails应用程序中,我有Allergy
模型和Kid
模型,其中Allergies
has_many allergy
。我还创建了一个嵌套表单,以便在创建新kid
时kid
字段位于kid
表单中。这就是我在def new
@kid = Kid.new
allergy = @kid.allergies.build
end
控制器中的内容:
kid
这是我的index.html.erb嵌套在我的创建<%= f.fields_for :allergies, Allergy.new do |u| %>
<%= u.label :description, "Description", class: "control-label" %>
<%= u.text_field :description, class: "input-sm form-control" %>
<%= u.label :symptoms, "Symptoms", class: "control-label", %>
<%= u.text_field :symptoms, class: "input-sm form-control" %>
<%end%>
表单中:
allergy
这适用于仅在Allergy
模型中插入一条allergy
条记录,但我希望能够列出最多5条kid
条输入,并且仅插入那些用户填写,因为allergies
可能有onDestroy()
的可变数量。
我使用过这篇文章:http://vicfriedman.github.io/blog/2015/07/18/create-multiple-objects-from-single-form-in-rails/
但是,我无法为嵌套表单工作。感谢所有帮助,谢谢!
答案 0 :(得分:0)
要为您的关系获取多个嵌套表单,您需要构建要在表单中显示的相关项目的数量,如:
createUserSuccess
然后拒绝保存数据库中的任何空关系,在模型中你可以使用类似的东西:
def new
@kid = Kid.new
5.times do
@kid.allergies.build
end
end