小编And*_*lea的帖子

Rails 3 w/Devise:如何根据用户是否经过身份验证设置两个单独的主页?

我正在使用Rails 3和Devise创建一个应用程序,用户可以访问该网站并显示包含登录和注册表单的主页.这个页面有自己的控制器("主页"),所以它的路线是

root :to => "homepage#index"
Run Code Online (Sandbox Code Playgroud)

如果用户已经登录,我想显示不同的主页.这将考虑到根点

root :to => "dashboard#index"
Run Code Online (Sandbox Code Playgroud)

有没有办法在routes.rb中设置条件路由,这样我就可以在将用户路由到其中一个主页之前检查用户是否经过身份验证?

我尝试使用以下代码,但如果我没有登录,设计要求我登录,所以显然只有第一条路线有效.

authenticate :user do
  root :to => "dashboard#index"
end
  root :to => "homepage#index"
Run Code Online (Sandbox Code Playgroud)

此外,我希望网址在两种情况下都指向www.example.com,以便www.example.com/dashboard/index和www.example.com/homepage/index永远不会出现在浏览器中.

太感谢了 !!!

ruby-on-rails rails-routing devise

8
推荐指数
2
解决办法
2764
查看次数

标签 统计

devise ×1

rails-routing ×1

ruby-on-rails ×1