ActionViewHelperのselect関数で・・・
view でセレクトボックス描画に
ActionViewHelperのselect関数を利用した。
使い方は
select(object, method, choices, options = {}, html_options = {})
objectにはインスタンス変数名、
methodにそのインスタンスのgetter名
choicesはoptionタグの要素を配列で。
こんな感じで使う
select "obj", "name", [ ["名前1","1"], ["名前2","2"] ], :include_blank=>true
(include_blankは空の選択肢の有無)
ここで一つ注意。
指定するオブジェクトはsendプロパティを持ってはいけない。
(厳密にはsendという名前のアクセサを作らない)
Objectクラスのメソッドにsendというのがあるんだけど、
どうやらselect関数ではオブジェクトのプロパティ取得に
sendメソッドを呼び出しているみたい。
そのせいでsendを上書きしてしまうと予期せぬ動きをする。
これで少しハマった。。
Objectクラスのリファレンスを見ても、
ライブラリではsendを使うときは__send__(sendのalias)を
使えって書いてあるじゃん!
最新のrailsでは直ってるんだろうか。。。