fields_for has_many未在表单上显示为数组

Sam*_*amo 2 ruby-on-rails has-many fields-for ruby-on-rails-4

通常当我使用一个fields_for简单的has_many关联时,表单上的输入名称看起来像foo[bars_attributes][0][name],但在我的情况下,它没有显示为表单上的数组 - 而是我得到类似的东西foo[bars][name],当我尝试时会爆炸提交,因为它试图分配给数组的名称属性 - 我无法弄清楚与其他情况有什么不同.这是代码,显然已经简化并重命名为此场地.

我的模特:

  class Foo
    has_many :bars
  end
Run Code Online (Sandbox Code Playgroud)

控制器:

  class FooController < ApplicationController
    def new
      @foo = Foo.new
      @foo.bars.build
      @foo
    end
  end
Run Code Online (Sandbox Code Playgroud)

风景:

<div>
  <%= form_for @foo do |f| %>
    <%= f.fields_for :bars do |bar_fields| %>
      <%= bar_fields.text_field :name %>
    <% end %>
    <div class="single_column">
      <%= f.submit "Submit" %>
    </div>
  <% end %>
</div>
Run Code Online (Sandbox Code Playgroud)

结果标记:

<input name="foo[bars][name]" id="foo_bars_name" />
Run Code Online (Sandbox Code Playgroud)

Chr*_*ini 7

Foo可能值得拥有accepts_nested_attributes_for :bars吗?