render
・部分テンプレートファイル
_form.html.erb
のように_から始まります。
・ビューファイル内で部分テンプレートを呼び出すとき
<%= render partial: "form" %>
_と拡張子を除いた形で呼び出します。
partialは部分テンプレートを指定するオプションです。
・部分テンプレート内で変数を使いたい時
<%= render partial: ‘form’, locals: { form: @form } %>
のように、localsオプションを用いて、
locals: { 部分テンプレート内で使いたい変数: 持っていきたい値 }
と記述します。
・部分テンプレート内で繰り返し処理を行いたい時
<%= render partial: ‘form’, collection: @forms %>
collectionオプションに@formsと複数形の変数を渡すと、部分テンプレートでformが個別のインスタンスとして呼ばれる変数となり、さらにeach文を使用せずに繰り返し処理も行ってくれます。
<%= render @forms %>
と略して書くことも可能です。
redirect_to
redirect_to root_path
のように使います。
違い
render → ビュー redirect_to → ルーティング → コントローラー → ビュー
表示されるまでのプロセスが違います。