フォームビルダーオブジェクトでひっかかったのでメモ
19日は福岡は姪浜でRBCのRailsイケテル勉強会。
Railsではフォームを生成するヘルパーが色々あって、混乱したので
まとめようと。
引っかかったのは8行目のコメントの部分。
サンプルとして提示されたソースではここだけ、「f.」があたまに
ついてないから、なんでかなと。
結論は、1番目のパラメタ「:event」をわたすことで、解決してくれる
のだけど、9行目のように書いたが好ましいでしょう。
じゃあ、8行目の記述の仕方は何かというと、AWDR本第2版の455Pに説明が載ってました。
「フォームビルダーなしで呼び出すことのできる代替フォーム」とのこと。
「複数のActiveRecordオブジェクトにマッピングするフォームを構築する場合には
このようなスタイルが必要な場合があります」。確かに。
1:<% form_for :event do |f| %> 2: <p><b>Title</b><br /><%= f.text_field :title %></p> 3: 4: <p><b>Date</b><br /><%= f.datetime_select :date %></p> 5: 6: <p> 7: <b>Userid</b><br /> 8: <!--<%= collection_select(:event, :user_id, User.find(:all), :id, :login)%>--> 9: <%= f.collection_select(:user_id, User.find(:all), :id, :login, :prompt => 'select user id')%> 10: </p> 11: 12: <p><%= f.submit "Create" %></p> 13:<% end %>
他にも非モデルフィールドとの連携に使われる、「form_tag」やら
Ajaxに対応した「form_remote_tag」、「remote_form_for」等ありますので
読み進めながら、使いながら慣れて行きましょう。