这个问题源自使用Michael Hartl的Rails教程创建的示例Web应用程序,尽管它不是作者建议的练习之一。
在许多社交网站上,当点击“主页”(例如在网站徽标上)时,用户将被重定向到他们的个人资料而不是默认主页。我想知道如何在教程应用程序中完成此任务。
在教程应用中,“主页”视图被视为“静态”,并由显示的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])
)。如何修改控制器,以便在检测到用户已登录时,将显示配置文件而不是主页?
感谢您的帮助!
答案 0 :(得分:0)
此signed_in?
方法不使用current_user
代替@user
?
如果是这样,您只需更改行
即可redirect_to @user
到
redirect_to current_user