部分テンプレートのcollectionについて
部分テンプレートの基本表記
<%= render partial: 'ファイル名' %>
部分テンプレートを繰り返し表示したいとき
<%= render partial: 'ファイル名', collection: @books %>
このように書くと一つの記事項目をテンプレート化し,それを繰り返し表示することで一覧ページを作成することができる. @booksの要素の分だけ繰り返される. このとき,部分テンプレート内の変数はpartialで指定したものとなる.
部分テンプレートファイル内で以下のように使う.
<%= ファイル名.title %>
別の変数名で指定したいときはasオプションを使って指定する.
name属性とparamsの対応
基本形
name属性の値がそのままキーになる.
<input type="text" name="message">
この場合のparamsの中は { message: "入力された内容" } となる.
特別ルール1
name属性に[]を含め,かつ[ ]が空ではないときはハッシュとなる.
<input type="text" name="message[m1]" >
この場合のparamsの中は message = { m1: "入力された内容" } となる.
特別ルール2
name属性に[]を含め,かつ[ ]が空のときバリューは配列になる.
<input type="text" name="message[]" > <input type="text" name="message[]" >
この場合のparamsの中は { message: ["入力された内容", "入力された内容"] } となる.