我试图在用户登录时呈现不同的主页,但 Devise 不断呈现相同的页面。有可能改变这个吗?我知道您可以直接在主页源代码中进行操作,但这似乎冗长且效率低下。例如,我知道如何检查用户是否登录,但是当他们登录时如何呈现不同的视图?
问问题
986 次
1 回答
1
您可以设置一个after_sign_in_path
在登录后直接将登录用户带到特定页面,如果这是您所追求的。
应用控制器:
def after_sign_in_path_for(resource)
some_path
end
设计将自动尊重这一点。
对于登录或未登录时不同的主页,您可以设置您的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) %>
于 2013-06-12T18:28:53.730 回答