2012-11-30

Rails3.2.8のform_forヘルパー利用下のselectタグにクラスを付与する方法

# BAD
<%= f.select 'from_time', TIME, selected: '9:00', class: 'from_time' %>

# GOOD
<%= f.select(:from_time, TIME, {selected: '9:00'}, {class: 'from_time'}) %>

※ 第2引数の TIME は定数で、時刻が配列になって格納されている。

selectedなどを利用しない場合は {} のみを第3引数に指定するとできるようだ。
Railsは柔軟性が高すぎるせいか、ちょっとした書き方の違いでエラーになったりすることがおおいので、大変。。

※参考になった記事 http://d.hatena.ne.jp/kaorumori/20120404/1333520968