如何在formtastic中生成多个输入?

时间:2012-05-22 08:31:27

标签: ruby-on-rails forms nested-forms formtastic

改编自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的新手并且对整体编程很陌生。

1 个答案:

答案 0 :(得分:0)

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