はじめに
コントローラー内で処理が終わった(終わらなかった)後に
どのページに遷移させるかを考えないといけませんが、
その際にredirect_toを使用します。
redirect_toとは
指定したURLに遷移させることができるメソッドです。
基本的な書き方
redirect_to "リダイレクト先"
実際のコード
このコードに関しては、使えるものがあり次第更新していきます。
URLで指定
redirect_to "https://qiita.com/japwork"
path名で指定
redirect_to root_path
アクション名で指定
redirect_to action: :index
異なるコントローラーのアクション名で指定
redirect_to controller: :post, action: :index
前のページに戻る
redirect_to :back
同じページをリダイレクトする
redirect_to request.referer
成功時にメッセージを表示させる
controller
redirect_to root_path, notice: '成功です'
view
<%= notice %>
renderとの違い
redirect_toはアクションを実行して、そのアクションに対応したviewを表示させます。
renderはアクションを実行せずにviewを表示させます。
viewにアクションで取得するインスタンス変数がある場合はエラーとなります。
まとめ
if文と併用することにより、結果次第で遷移先を変えて表示することができるため、
様々な方法を知っておく必要があります。
上記の他にもステータスコードもあるので、興味があれば調べてみてください。
またtwitterではQiitaにはアップしていない技術や考え方もアップしていますので、
よければフォローして頂けると嬉しいです。
詳しくはこちら https://twitter.com/japwork