Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用户登录时是否可以呈现不同的页面?轨道4设计_Ruby On Rails_Devise_Routes_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 用户登录时是否可以呈现不同的页面?轨道4设计

Ruby on rails 用户登录时是否可以呈现不同的页面?轨道4设计,ruby-on-rails,devise,routes,ruby-on-rails-4,Ruby On Rails,Devise,Routes,Ruby On Rails 4,我试图在用户登录时呈现不同的主页,但Desive一直呈现相同的页面。有可能改变这个吗?我知道你可以直接在主页的源代码中完成,但是这看起来很长而且效率很低。例如,我知道如何检查用户是否已登录,但如何在他们登录时呈现不同的视图?您可以在登录后设置一个路径,以便在登录后直接将登录的用户带到特定页面,如果这是您想要的 应用程序控制器: def after_sign_in_path_for(resource) some_path end Desive将自动尊重这一点 对于登录与否不同的主页,您可以

我试图在用户登录时呈现不同的主页,但Desive一直呈现相同的页面。有可能改变这个吗?我知道你可以直接在主页的源代码中完成,但是这看起来很长而且效率很低。例如,我知道如何检查用户是否已登录,但如何在他们登录时呈现不同的视图?

您可以在登录后设置一个
路径
,以便在登录后直接将登录的用户带到特定页面,如果这是您想要的

应用程序控制器:

def after_sign_in_path_for(resource)
  some_path
end
Desive将自动尊重这一点

对于登录与否不同的主页,您可以将
root\u url
操作设置为重定向登录用户,也可以在视图中更改指向主页的链接

1) 控制器重定向(我的首选项)

2) 或在视野中

<%= link_to 'Home', (current_user ? account_path : root_url) %>


这会将该页面设置为主页吗?或者只是重定向?这将在用户登录后直接重定向,而不是更改主页。所以要明确的是,如果用户登录或未登录,您希望用户拥有不同的“主页”吗?是的,这就是我想要的。谢谢!这很有帮助。
<%= link_to 'Home', (current_user ? account_path : root_url) %>