select2-rails gem を使用して select 2 を実装しようとしていますが、jQuery や rails に精通していません。
基本的に、この Web サイトからプレースホルダーの例をコピーして、自分のニーズに合わせようとしました。
http://rails-select2-example.herokuapp.com/
イベントのパフォーマーをリストするフィールドがあります。もともと、:performer 用の単純なテキスト フィールドがありました。しかし、これをユーザーの profile_name に基づくルックアップに置き換えたいと思います。これを :performer フィールドに割り当てることができます。
だから私はこのようなものを持っています:
<%= select_tag "performer", options_from_collection_for_select(@user, "id", "profile_name"), include_blank: true, id: "performer", data: { placeholder: "Choose a performer" } %>
これに続いて:
<script type="text/javascript"> $(document).ready(function() {
$('select#performer').select2({
placeholder: "Choose a performer",
allowClear: true
});
});
</script>
これは機能し、ユーザーのドロップダウンが表示されます。しかし、この情報を :performer フィールドに渡す方法がわかりません。これはおそらく非常に単純なので、 simple2 を検索しても、それをフィールドに渡す方法についてはどこにも言及されていないようです。助けてください!
アップデート1:
次を使用して送信することができますが、select2 オートコンプリート ボックスではなく、単純な選択ボックスになります。
<%= f.select_tag "performer", options_from_collection_for_select(@user,
"profile_name", "profile_name"), include_blank: true, id: "performer", data:
{ placeholder: "Choose a performer" } %>
アップデート2:
動作するようになりましたが、プレースホルダーを表示できません。
<%= f.select :performer, options_from_collection_for_select(@user,
:profile_name,:profile_name), {}, include_blank: true,
id: "performer", data: { placeholder: "Choose a performer" } %>