フォームヘルパーとrenderを使用した部分テンプレートの書き方

・フォームヘルパー復習

= form_with model: @user do |f|
  = f.text_field :name
  = f.text_field :email
上記のフィールドを作成すると、以下のHTMLタグが生成される
= input type="text" name=user[name]
= input type="text" name=user[email]
上記のフォームを送信すると入れ子構造のparamsが返ってくる
{user: {name: "匿名", email: "sample@example.com"}}

・renderメソッドを使用した部分テンプレートの書き方

= render partial: "ファイル名", locals: {"部分テンプレート内の変数": "呼び出し元の変数"}
partialを省略したかったらlocalsも省略しないといけない。以下同じ挙動になる
= render partial: "hoge", locals: {hoge: @hoge}
= render "hoge", hoge: @hoge

・繰り返し処理内で部分テンプレートを書くとき、以下の書き方はいずれも同じ挙動になる

- User.all.each do |u|
  = render partial: "user", locals: {user: u}
= render partial: "user", collection: User.all
以下3つの条件を満たすとより省略できる
①呼び出す部分テンプレートがviewsフォルダ内のusersフォルダにあり
②部分テンプレート名が _user.html.slim
③部分テンプレートで使う変数名が user
= render User.all

・whereなどの絞り込み条件で否定形の構文はwhere.not で表現する