我正在尝试在用户登录时呈现不同的主页,但是Devise会继续呈现相同的页面。有可能改变这个吗?我知道你可以直接在主页源代码中完成它,但这似乎很长而且效率低下。例如,我知道如何检查用户是否已登录,但是如何在登录时呈现不同的视图?
答案 0 :(得分:1)
您可以设置after_sign_in_path
,以便在登录后直接将用户登录到特定页面,如果这就是您所追求的目标。
的ApplicationController:
def after_sign_in_path_for(resource)
some_path
end
Devise会自动尊重这一点。
对于不同登录的主页,您可以将root_url
操作设置为重定向登录用户,也可以在视图中更改指向主页的链接。
1)控制器重定向(我的偏好)
SomeController
def home_page
if current_user
redirect_to account_path
end
end
end
2)或在视图中
<%= link_to 'Home', (current_user ? account_path : root_url) %>