0

改编自嵌套形式 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 的新手,而且对整体编程很陌生。

4

1 回答 1

0

您的嵌套表格不正确
更改<%= semantic_fields_for :fields do |h| %>
<%= f.inputs :for => :fields do |h|%>

于 2012-05-22T09:20:37.350 回答