如何以嵌套形式定义选择字段?

时间:2012-03-02 08:38:56

标签: ruby-on-rails nested-forms

在Rails 3.2中包含嵌套表单中的选择字段的正确方法是什么?

我目前有

//IN THE PARENT FORM

<%= f.fields_for :crayons  do |crayon| %>
   <%= render 'caryon_fields', :f=>crayon %>
<% end %>

//IN THE PARTIAL

<div class="nested-fields">
   <%= select (:crayon, :color, [['Red',1],['Blue',2],['Yellow',3],['Green',4]] ) %>
</div>

这不是将所选值保存到数据库。我认为这是因为没有传递构建器。

如何在嵌套字段中使用硬编码选项定义选择字段?我是否需要更改标记,即select_tagcollection_select。我仍然不确定所有这些之间的差异。如果有人能指出我的清晰描述,那将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要在部分内容中与您的表单相关联:

<div class="nested-fields">
   <%= f.select (:crayon, :color, [['Red',1],['Blue',2],['Yellow',3],['Green',4]] ) %>
</div>

Whitout partial it's:

<%= f.fields_for :crayons  do |crayon| %>
  <div class="nested-fields">
   <%= crayon.select (:crayon, :color, [['Red',1],['Blue',2],['Yellow',3],['Green',4]] ) %>
  </div>
<% end %>