web-dev-qa-db-ja.com

Railsでcollection_selectのHTMLオプションを設定するにはどうすればよいですか?

Rails collection_select ]によって生成されたselectタグにクラスを追加する構文が見つからないようです。

78
tybro0103

多くのRailsヘルパーは複数のハッシュ引数を取ります。通常、1つ目はヘルパー自体を制御するオプションです。2つ目はカスタムIDやクラスなどを指定するhtml_optionsです。

メソッド定義は次のようになります。

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})

Paramsリストに複数の「= {}」が表示されます。これを使用するには、指定するオプションの最初のセットを実際に中括弧で囲む必要があります。

collection_select(:user, :title, UserTitle.all, :id, :name, {:Prompt=>true}, {:class=>'my-custom-class'})

Htmlクラス以外に指定するオプションがない場合は、空のハッシュプレースホルダーを配置するだけです。

collection_select(:user, :title, UserTitle.all, :id, :name, {}, {:class=>'my-custom-class'})

追加のAPIドキュメントは次の場所で入手できます。 http://apidock.com/Rails/ActionView/Helpers/FormOptionsHelper/collection_select

176
Drew Blas
= f.collection_select :category_id, Category.order(:name), :id, :name, {}, {class: "store-select"}
8
drjorgepolanco