我需要在我的表单中有一个属性(:supported_media_types)接受一个值数组。
例如,我希望用户能够在需要时点击JPG和PNG。
我已经设置了一个select2下拉列表,其中包含多个:true
有没有简单的方法来实现这一点,还是我需要创建一个连接表?
<%= f.select :supported_ad_types, supported_types_of_media, {include_blank: true}, {class: 'filter_select', name: 's2id_location_supported_ad_types[]', style:'width:100%;', placeholder: 'Supported File Types', required: true, multiple: true} %>
答案 0 :(得分:2)
使用select_tag 'supported_ad_types[]' ...
获取数组参数。
在您的模型中使用serializer :supported_ad_types, array
来保存数组参数。
答案 1 :(得分:0)
创建一个这样的序列化属性:
1 - 正常向您的迁移添加一列,文字为:
rails g model Image types:text
rake db:migrate
2 - 在你班上:
class Image < ActiveRecord::Base
serialize :types, Array
end
现在,您可以执行以下操作:
i = Image.new
i.types << "png"
i.types << "jpg"
i.save
=> #<Image id: 1, types: ["png", "jpg"], created_at: "2014-08-11 22:44:08", updated_at: "2014-08-11 22:44:08">