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では直ってるんだろうか。。。