0

这是我fields_foredit控制器的orders看法

  <%= form_for @order do |f| %>

    <%= f.fields_for :order_fields do |builder| %>
      <%= builder.text_field :value %>
    <% end %>

  <% end %>

我遇到的问题是我想使用每个循环来显示来自循环的信息,但随后我得到了不止一次显示的表单。这是因为我使用了该accepts_nested_attributes_for :order_fields语句。

在我的order_fields表中有一个名为name我想在表单中显示信息的列。我怎样才能做到这一点?我的数据库中列中的信息value已经显示在我的表单中。

如果我做

<%= f.fields_for :order_fields do |builder| %>
  <%= builder.text_field :name %>
  <%= builder.text_field :value %>
<% end %>

它显示来自两列的信息并排显示,但我希望这些:name信息不在文本框或任何内容中。我希望它显示得好像我要执行以下操作:

<% @order.order_fields.each do |field| %>
  <%= field.name %>
<% end %>

我希望这有点道理:) 谢谢。

4

1 回答 1

3

您可以从 |builder| 访问对象 通过调用 .object 就可以了

<%= f.fields_for :order_fields do |builder| %>
  <%= builder.object.name %>
  <%= builder.text_field :value %>
<% end %>
于 2011-11-01T03:14:58.390 回答