Railsのselectでclassを設定する

プログラミング、サーバー、ネットワーク、IT用語、ハマったときのトラブルシューティングなど様々なIT関連の話題をひたすら書いていく技術ブログです。

2017年3月6日月曜日

Railsのselectでclassを設定する


Railsのビューでform_forやbootstrap_form_forの中でf.selectなどとするときにclassが設定できなかったので備忘録。

Railsのビューでselectを設定するときは引数の順序や数が重要

Railsのselectは引数を指定する順序がある程度決まっています。

<%= f.select :tag_id, @tags.map{|t| [t.display_name, t.id]}, { label: "タグ" }, { class: "tag-fields" } %>

<%= f.select {htmlのnameになるところ}, {optionとなるところ、選択するデータ}, { label(項目名)やinclude_blank(選択肢の先頭に空欄を作る)などselect自体のオプション }, {htmlのオプション、classやidなど} %>

ちなみに、第3引数({ label: "タグ" }のところ)と第4引数({ class: "tag-fields" }のところ)は複数あるときは{label: "タグ", xxxxx }など{,}で囲わないと引数の数が増えたと認識されてエラーが起きることがあります。第3引数はオプションが1つでも{}がないとエラーが起こりました。第4引数は1つの場合は{}がなくても大丈夫でした。




最近の投稿