LoginSignup
9
5

More than 5 years have passed since last update.

【Rails】どうしてredirect_to @userでユーザーページにリダイレクトできるのか

Posted at

詰まった点

RailsTutorial[7.4.1 登録フォームの完成]をやっている際、redirect_to @userでユーザーページにリダイレクトできるロジックがわからなかった。

Railsチュートリアル内にて、redirect_to @userのコードがredirect_to user_url(@user)のコードと等価という記載があった。

user_urlの名前付きパスの後の(@user)がどうしてくっついているのかが見当がつかなかった。redirect_to URLという文法がある以上、redirect_to user_url(@user)ではなく、redirect_to user_urlでもいい気がした。

どうしてredirect_to @userでユーザーページにリダイレクトできるのか

概して、user_url/users/:idみたいなURLになっていることが多い。

redirect_to user_urlでは:idの部分に何が入るのかわからないためエラーとなる。
この:idの部分に何が入るかを指定するのが(@user)の部分であり、引数に@userと指定することでその変数に格納されたレコードに該当するページへのURLとなる。

おそらく、ここでの@userはインスタンス変数ではないと推察され、:idを入れるためにあるものであると考えられる。

参考文献

【Rails】redirect_to @userでユーザーページにリダイレクトできるロジックを知りたい

9
5
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
9
5