27
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby on Rails】redirect_toの使い方

Posted at

はじめに

コントローラー内で処理が終わった(終わらなかった)後に
どのページに遷移させるかを考えないといけませんが、
その際に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

27
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?