2015年8月25日火曜日

railsのformのselectでclassが当てられない

formの入力画面をrailsで作っていて、プルダウンを使うのにselectを使っていたのですが、
オプションに書かれてるclassを指定してもclassがHTMLに出力されないので調べました。

スケジュール登録での時の部分をslimでこんな感じで書いてました。
= form_for(@profile, :url => { :action => "update_schedule" }) do |f|
= f.fields_for :repeat_schedules do |rpt|
= rpt.select :start_time_hour, options_for_select((Array 0..23).map { |i| format("%02d", i) }, selected: rpt.object.start_time_hour), { class: 'form-control' }
これだとclassが出力されないため、styleが適用されませんでした。
調べたところ、classを書いている{}の前にもう一つ{}を入れるとよいようです。
こんな感じにするとちゃんとclassが出力されるようになりました。
= rpt.select :start_time_hour, options_for_select((Array 0..23).map { |i| format("%02d", i) }, selected: rpt.object.start_time_hour), {}, { class: 'form-control' }


参考URL
http://stackoverflow.com/questions/21338113/cant-add-class-on-select-form-helper-in-rails-4

0 件のコメント:

コメントを投稿