1

私は select2-rails gem を使用してartist_idsおり、この all-js example のように select2 を複数選択フィールドで動作させたいと考えています。これが私のerbファイルの外観です。js スクリプトを追加しても効果はありませんでしたが、フォームは引き続き同じようにロードされます。

<%= form_for @event, url: {action: "create"}, html: {class: "nifty_form"} do |f| %>
  <%= f.text_field :name %><br />
  <%= f.datetime_select :date %><br />
  <%= f.text_area :description, size: "60x12" %><br />
  <%= f.select(
    :venue_id,
    options_from_collection_for_select(Venue.all, "id", "name")
  ) %>
  <%= f.collection_select :artist_ids, Artist.all, :id, :name, {:selected => @event.artist_ids, include_blank: true}, {multiple: true} %>
  <br />
  <%= f.submit "Create" %><br />

    <% content_for :js do %>
    <script type="text/javascript">
    $(document).ready(function() {
        $('#event_artist_ids').select2();
    });
    </script>
    <% end %>
<% end %>

ドキュメントで指示されているように、select2を追加するための通常のすべての手順に従いました。application.js とwith//= require select2の行を application.scss に追加しました。*= require select2*= require select2-bootstrap

アップデート:

Prashant Ravi Darshan の提案の後、select2 が機能し始めたようですが、バグがあります。アーティストを選択するための 2 つの乱雑なフィールドになりました

ここに画像の説明を入力

4

2 に答える 2

4

これを試してください

<%= f.select(:artist_ids, Artist.all.collect {|a| [a.name, a.id]}, {}, id: "event_artist_ids", :multiple => true) %>

<script type="text/javascript">
    $( "#event_artist_ids" ).select2();
</script>
于 2016-08-17T07:50:39.730 に答える