我正在尝试使用多个选择框。选择框将包含数据库中的所有商店,但将选择用户所属的商店。
我在那里一半。我有一个选择框,其中包含数据库中的所有商店。我无法选择用户所属的那些。
我有以下内容:
<%= select_tag 'stores[]', options_for_select(@stores.map {|s| [s.store_name, s.store_id]},
:selected => @user.stores.map {|j| [j.store_name, j.store_id]}), :multiple => true, :size =>
10 %>
我有一张包含用户所属商店的地图。它在:
@user.stores
答案 0 :(得分:53)
<%= select_tag 'stores[]', options_for_select(@stores.map { |s| [s.store_name, s.store_id] }, @user.stores.pluck(:id)), multiple: true, size: 10 %>
答案 1 :(得分:13)
另一种方法是使用options_from_collection_for_select辅助方法。它看起来像这样:
<%= select_tag 'stores[]', options_from_collection_for_select(@stores, :store_id, :store_name, [4,5,6]), multiple: true, size: '10%' %>