我在视频层和rails中的文档中笨手笨脚,我想知道是否有人有关于设置Product表单的最佳方法的任何提示,以便用户可以选择多个area_codes来填充allowed_area_codes数组在产品模型中(区域代码值缓存在数组中而不是ID)
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
我现在看起来很无望的尝试(下图)。它不允许选择多个选项,但单个选项似乎没问题。我发现了倍数=>在一些相当古老的博客中是真的等等,它们似乎没有任何影响。理想情况下,我希望用户能够使用一系列复选框进行选择。也许没有直接的表单构建器选项来执行此操作?
<%= 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 %>
我已经解决了多项选择问题,正如我在评论中所述。