0

我试图在用户登录时呈现不同的主页,但 Devise 不断呈现相同的页面。有可能改变这个吗?我知道您可以直接在主页源代码中进行操作,但这似乎冗长且效率低下。例如,我知道如何检查用户是否登录,但是当他们登录时如何呈现不同的视图?

4

1 回答 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 回答