zakihayaメモ

RubyとRailsのことが中心

options_for_selectで先頭に空白を挿入する

先日記載した、options_for_selectでDBの列を指定して表示するに加えて、先頭に空白を追加したい場合。

select_tag(
  :item_name,
  options_for_select(
      ModelName.all.unshift(ModelName.new).map{ |model| [model.prop_value, model.prop_key] } ,params[:item_name]
  )
)

とモデルの新しいオブジェクトをDBから取得したデータの配列の先頭に挿入したらうまくいった。
もっとうまいやり方があったら教えてください。

Rubyはこうやって書いたらうまくいきそうだなぁと思って書くと本当にうまくいくからおもしろい。