1

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" } %>   
4

1 に答える 1