Rails アプリ用の優れたコンボボックスをしばらく探していました。
私はこれを見つけました: https://github.com/danielfarrell/bootstrap-combobox/tree/1.1.1まさに私が探しているものです。Railsでそれを機能させる方法がわかりません。私は :receiver を持つマイクロポストを持っているので、送信時に投稿の前に投稿の対象者の頭字語が表示されます。
bootstrap-combobox.js と bootstrap-typeahead.js を assets/javascripts に追加しました。.css ファイルを含めました。そして、コードを挿入しました:
<%= form_for(@micropost) do |f| %>
<%= render 'shared/error_messages', object: @micropost %>
<div class="field">
<div id="post_form">
<%= f.text_area :content, placeholder: "Compose..." %>
</div>
</div>
<div class="span3">
<%= f.select :receiver,
[['all', 'all'],
['aicc', 'aicc'],
['daf', 'daf'],
['faf', 'faf'],
['gal', 'gal'],
['mcg', 'mcg'],
['paq', 'paq'],
['self', 'self'],
['uyt', 'uty']],
:class =>"combobox"%>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.combobox').combobox();
});
</script>
説明どおりにコンボボックスを取得していますが、フォームを送信すると、選択した値やフィールドに入力した値に関係なく、常に最初の値「すべて」が送信されることを除いて機能します。プラグインの作成者が推奨するいくつかの変更を加えましたが、それでも同じ結果が得られます。
また、このコードを部分的に使用して設定しようとしました:
<f.select>
<option></option>
<option value="self">self</option>
<option value="all">all</option>
<option value="aicc">aicc</option>
<option value="daf">daf</option>
<option value="faf">faf</option>
<option value="gal">gal</option>
<option value="kks">kks</option>
<option value="mcg">mcg</option>
<option value="paq">paq</option>
<option value="tan">tan</option>
<option value="tas">tas</option>
<option value="uyt">uyt</option>
</select>
しかし、この形式で値を取得する方法がわかりません。これを機能させるために私ができることについて誰か考えがありますか? ありがとう。