この質問は、Michael HartlのRailsチュートリアルで作成されたサンプルWebアプリに由来しますが、作成者が提案した演習の1つではありません。
多くのソーシャルサイトでは、クリックして「ホーム」に移動すると(サイトのロゴなど)、ユーザーはデフォルトのホームページではなく自分のプロファイルにリダイレクトされます。チュートリアルアプリでもこれをどのように達成できるのだろうかと思っていました。
チュートリアルアプリでは、「ホーム」ビューは「静的」と見なされ、次のように表示されstatic_page_controller
ます。
def home
end
私がそれに以下を追加しようとしたとき:
def home
if signed_in?
redirect_to @user
end
end
「nilにリダイレクトできません」というエラーが表示されます。@user
私はすべてのコントローラーで共有されていると思っていました(以来signed_in
、user_controller
:で@user = User.find(params[:id])
)。ユーザーがサインインしていることを検出したときに、ホームページではなくプロファイルが表示されるようにコントローラーを変更するにはどうすればよいですか?
ご協力いただきありがとうございます!