こんにちは!
今日も自分の理解が浅いことについて、
アウトプットの為にかれこれ調べてきました。
今回は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 %>