こんにちは!
今日も自分の理解が浅いことについて、
アウトプットの為にかれこれ調べてきました。
今回はredirect_toメソッドとrenderメソッドの違いについてです。
redirect_toメソッド
railsでリダイレクト処理を行うメソッドですわ。
リダイレクトとはアクションに処理を持たせた上で、
そのパスのビューを返すのではなく別のパスに
ユーザーを転送させることができます。
redirect_toは新しくリクエストが送信された時に
ルーティング、コントローラー、モデルを
通してビューが表示されます。
記述方法はactionの後に
リダイレクト先となるアクションを指定します。
redirect_to action: :index
また、パスを指定することもできます。
redirect_to root_path
renderメソッド
呼び出すビューファイルを指定するメソッドですね。
新しくリクエストされることなくそのままビューを
呼び出すことができます。
部分テンプレートを呼び出す時に
使用したりもします。
redirect_toメソッドと違って
新しくリクエストされることなくそのままビューが
表示されます。
部分テンプレートを呼び出す際には
partial というオプションを使用します。
<% render partial: 'message' %>
アクション名を指定してビューを呼び出すこともできます。
<% render :index %>