Rails和Postgres数组列

时间:2014-06-18 09:23:18

标签: ruby-on-rails arrays postgresql

我有一个带有数组列的模型(box_ids)。在我看来,我希望为数组中的每个值设置一个字段,并为数组添加三个额外的空字段。怎么去这个?我有以下内容:

  <%= f.fields_for "box_ids[]", @shop do |bid| %>
    <div class="form-group">
      <%= bid.label :box_id %> Box ID: <%= bid.text_field [WHAT HERE] %>
    </div>
  <% end %>

我不知道这是否是正确的做法,但无论如何我没有办法提供给text_field。

有什么建议吗?

编辑:

这有效:

  <% @shop.box_ids.each  do |bid| %>
    <div class="form-group">
      <%= label_tag :box_id %> Box ID: <%= text_field_tag "box_ids[]", bid %>
    </div>
  <% end %>
  <% 3.times do %>
    <div class="form-group">
      <%= label_tag :box_id %> Box ID: <%= text_field_tag "box_ids[]" %>
    </div>
  <% end %>

但是这需要在控制器中进行特殊处理 - 如果可能的话我想避免这种情况。

1 个答案:

答案 0 :(得分:0)

  <%= f.fields_for "box_ids[]", @shop do |bid| %>
    <div class="form-group">
      <%= bid.label :box_id %> Box ID: <%= bid.text_field :box_ids %>
    </div>
  <% end %>