詰まった点
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
を入れるためにあるものであると考えられる。