formのselectタグにidを設定する
form_forで生成したフォームのプルダウンメニューに
idを振る必要があったのですが、プチはまりに遭遇したので記録しておきます。
form_forでフォームを作成した場合、下記のような形になると思います。
<% form_for user do |f| %>
<%= f.select("address",Model.find(:all)) %>
<% end %>
この場合、selectタグのIDは
id="user_address"
になると思います。
このIDを変更するのにプチはまりました。
RailsのAPIリファレンスによると、、、
select(object, method, choices, options = {}, html_options = {})
となっています。
なので、
<%= f.select("address",
省略,
:include_blank => true,
:id => "abc#{i}") %>
のように書いていたのですが、idが反映されない。。。
少々悩んで気づきました。一方的な間違いに。
下記コードで解決。
<%= f.select("address",
省略,
{:include_blank => true},
{:id => "abc#{i}"}) %>
{}を省略可能なのは最後の引数だけね。。
もう{}は省略しないと誓いました。
ちなみにoptionsが無い場合は下記となります。
<%= f.select("address",
省略,
{},
{:id => "abc#{i}"}) %>
以上、お恥ずかしい備忘録でした。