Я пробираюсь по слою представления и документам в рельсах, и мне было интересно, есть ли у кого-нибудь какие-либо советы о том, как лучше всего настроить форму продукта, чтобы пользователи могли выбирать несколько областей_кодов для заполнения массива разрешенных_реа_кодов в модели продукта (значения кода города кэшируются в массиве, а не в идентификаторах)
class AreaCode
include MongoMapper::Document
key :area_code_value, String, :required => true, :unique => true
end
class Product
include MongoMapper::Document
key :name, String, :required => true
key :permitted_area_codes, Array
end
Моя довольно безнадежная попытка выглядит сейчас так (ниже). Он не допускает выбора нескольких вариантов, но один выбор кажется приемлемым. Я обнаружил множественное => true и т. Д. В некоторых довольно старых блогах, и они, похоже, не имеют никакого эффекта В идеале я бы хотел, чтобы пользователь мог выбирать, используя ряд флажков. Может быть, просто нет прямых опций конструктора форм для этого?
<%= form_for(@product) do |f| %>
<%= render "shared/error_messages", :target => @product %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label "Available in areas: " %><br />
<%= f.select :permitted_area_codes, options_from_collection_for_select(AreaCode.all, :area_code_value, :area_code_value), :multiple => true, :size => AreaCode.count %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Я решил проблему множественного выбора, как изложил в комментарии.