改编自the nested form Railscast,我有:
在我的模特中
class Post < ActiveRecord::Base
has_many :fields
accepts_nested_attributes_for :fields
end
class Field < ActiveRecord::Base
belongs_to :post
end
在我的控制器中
def new
@post = Post.new
4.times { @post.fields.build }
respond_to do |format|
format.html
end
end
在我看来
<%= semantic_form_for @post do |f| %>
<%= f.inputs do %>
<%= f.input :title %>
<% end %>
<%= semantic_fields_for :fields do |h| %>
<%= h.input :name %>
<% end %>
<%= f.buttons do %>
<%= f.commit_button %>
<% end %>
<% end %>
问题是这只会生成一个:字段输入,即使我运行了@ post.fields.build四次。我无法弄清楚如何生成多个输入,以便用户可以输入多个字段。
很抱歉,如果这是显而易见的,但我是Rails的新手并且对整体编程很陌生。
答案 0 :(得分:0)
您的嵌套表单不正确
将<%= semantic_fields_for :fields do |h| %>
更改为
<%= f.inputs :for => :fields do |h|%>