3

Rails アプリでブートストラップの複数選択を使用しようとしています。

私が使用しているビューで、プラグインを初期化します

<script type="text/javascript">
  $(document).ready(function() {
    $('.multiselect').multiselect();
  });
</script>

そして、デモhtmlを使用して動作するようです:

<select class="multiselect" multiple="multiple">
  <option value="cheese">Cheese</option>
  <option value="tomatoes">Tomatoes</option>
  <option value="mozarella">Mozzarella</option>
  <option value="mushrooms">Mushrooms</option>
  <option value="pepperoni">Pepperoni</option>
  <option value="onions">Onions</option>
</select>

これは素晴らしいことですが、レール選択コードで動作させることができません。これが私の試みです:

<%= f.fields_for :sizes do |size_fields| %>
      <%= size_fields.label :scale_id, simple_pluralize(@miniset.scales.count, 'Scale') %>
      <%= hidden_field "Set Scale", @miniset.sizes %>
      <div class = "form-inline"><%= size_fields.select :scale_id, options_from_collection_for_select(Scale.all, :id, :name, @miniset.scales.map(&:id)), {include_blank: '', :class => 'multiselect', :multiple => true} %>
<% end %></div>

問題は:class => 'multiselect', :multiple => true、同じ方法で JQuery を呼び出さないこと<select class="multiselect" multiple="multiple">だと思いますが、これを機能させる方法が必要だと思います。どんな助けでも大歓迎です。

編集:私の選択が表示されていることを追加する必要があります。ここで見られるように、意図したスマートマルチセレクトの1つとして表示されていません。

EDIT 2:ブラウザが表示するその選択のコードは次のとおりです。

<label for="miniset_sizes_attributes_0_scale_id">Scales</label>
      <input id="Set_Scale_#&lt;ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Size:0x007fcf644c0c08&gt;" name="Set Scale[#&lt;ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Size:0x007fcf644c0c08&gt;]" type="hidden" />
      <div class = "form-inline"><select id="miniset_sizes_attributes_0_scale_id" name="miniset[sizes_attributes][0][scale_id]"><option value=""></option>
<option value="1">28mm</option>
<option value="2">54mm</option>
<option value="3">6mm</option>
<option value="4">15mm</option>
<option value="5">1/76</option></select>
      </div>

複数選択または複数の兆候はありません。うーん。

4

1 に答える 1