TodoList: select のプルダウンメニューを修正 ― 2006年12月29日 09時56分20秒
加えて、:selected
を使えば、初期値として選ばれているのかと思ったがそうではなかったらしい。Seamonkey、Mozilla、Firefox で試してみたが結果は同じだった。三つで試したと言ってもレンダリングエンジンは一緒なのだが。他のブラウザは試せないので、調べていない。
流石にこれでは困るので、調べた。select は
action_view/helpers/form_options_helper.rb にて定義されている。この関数の第一引数と第二引数が何のためだか良くわからない。name を作る目的の様だが、:name
で別途指定することも出来るし。
兎に角、以下の様に app/views/user/_edit.rhtml に変更を加えた。
% cvs diff app/views/user/_edit.rhtml
--- app/views/user/_edit.rhtml 26 Dec 2006 04:10:32 -0000 1.5
+++ app/views/user/_edit.rhtml 26 Dec 2006 22:51:15 -0000
@@ -19,11 +19,11 @@
<tr class="two_columns">
<td class="prompt"><lable>Organization:</label></td>
<td class="value">
- <%= select :organization, :id,
- Organization.find_all().map {|o| [ o.name, o.id ]},
- {},
- #{ :include_blank => true },
- { :selected => User.find(@params[:id]).organization_id } %>
+ <%= select :user, :organization_id,
+ Organization.find(:all).map {|o| [ o.name, o.id ]},
+ { :include_blank => true },
+ {}
+ %>
</td>
</tr>
form_options_helper.rb を参考にしながら、第一引数と第二引数を変えてみたのだ。
この変更で、指定しても動作していなかった、:selected
が初期値として選ばれる様になった。加えて、わざわざ、:selected
を指定する必要もなくなったのである。随分と簡略化された。
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/12/29/1079312/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。