Railsでf.selectにclassが設定できない時
環境
f.select
<%= form_for @user do |f| %>
...
<%= f.select :job, { engineer: "Engineer", ... }, class: "myclass" %>
...
<% end %>
ここでセレクトタグに.myclass
が設定されていることが期待されるが、
実際に生成されるHTMLは下記のようになる。
<select id="user_job" name="user[job]">
<option selected="selected" value="engineer">Engineer</option>
...
</select>
classが設定できない時の対処法
<%= form_for @user do |f| %>
...
<%= f.select :job, { engineer: "Engineer", ... }, {}, { class: "myclass" } %>
...
<% end %>
これでclassが設定されたHTMLが出力されるはずです。
<select class="myclass" id="user_job" name="user[job]">
<option selected="selected" value="engineer">Engineer</option>
...
</select>