helper: select_tagとselect

いままで仕組みを理解しないまま、collection_selectを使っていたり、
"selected"が必要な場合は、htmlタグのselectのなかで展開していたのだけど、
すっきり書きたい欲求が出てきたので、その他の手を模索してみた。

探し方が悪いのか、初心者にわかりやすいドキュメントが見つからないので、ソースを追っていくことに…

いろいろ追ってみたら(適当)何となくできた。なんだか勘違いしている気もするが現時点のメモ。


"selected"したくってActiveRecordではないcollectionの場合、

<%= select_tag(:sel_year, options_for_select(@year_list, @sel_year)) %>

"selected"したくってActiveRecordのcollectionの場合、

<%= select(:sel_category, :object_id, @category_list.collect{|i| [i.name, i.id]},                              
                  {:selected=>@sel_category_id}, {:name=>:sel_category_id}) %>

object_idのところ、もともとidだったのだけど、以下のwarningが出たのでよくわからないままobject_idに。

warning: Object#id will be deprecated; use Object#object_id