Rails DM機能4のコードで気になった部分があったので掘り下げていきます。
解説するコード
rooms/show.html.erb
<%= form_for @room do |f| %>
<%= fields_for @entry do |e| %>
<%= e.hidden_field :user_id, :value=> @user.id %>
<% end %>
<%= f.submit "チャットを始める" %>
<% end %>
fields_forの解説
form_for内で異なるモデルを編集できるようになります。
タグを実際に作成せずにフォームとオブジェクトを同様に紐付けできます。hidden_fieldの解説
第一引数にはパラメータで渡すname属性を指定します。今回の第一引数はuser_idとなります。
第二引数にはvalue属性を指定します。user_idに対して@user.idとする。
@user.idはusersテーブルのid(つまりログインしているユーザーのid)をvalueに指定しています。
hidden_fieldで値をパラメーターで渡すときはname属性とvalue属性を指定します。
アクションでhidden_fieldで渡されたパラメーターを受け取ることができます。