Rails 带有下拉列表的多个复选框

Rails Multiple Check Box with drop down list

我创建了一个关联模型来创建一个复选框列表,用户可以在其中使用 he/she 说的 select 种语言。我曾尝试同时使用 Chosen 和 Select2,但无法正常工作。问题可能是因为我使用 check_box_tag

这是我的代码;

<%= hidden_field_tag "user[language_ids][]", nil %>
    <% Language.all.each do |language| %>
    <%= check_box_tag "user[language_ids][]", language.id, @user.language_ids.include?(language.id), id: dom_id(language) %>
    <%= label_tag dom_id(language), language.name %> </br>
    <% end %> 

我观看了 Railscast Habtm 视频来创建它。这很好用,但我想让它对用户友好。谢谢

您需要呈现 <select> 标记而不是复选框:

form_for @user do |f| 
  f.select_tag "language_ids", options_from_collection_for_select(Language.all, "id", "name")

然后你可以在 DOM 元素上调用 $(..).select2()