改编自嵌套形式 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,这也只会生成一个 :field 输入。我不知道如何生成多个输入,以便用户可以输入多个字段。
对不起,如果这很明显,但我是 Rails 的新手,而且对整体编程很陌生。