在Rails 3.2应用程序中,我使用Devise设置了两个用户模型:Admin和user。
我在路由文件中定义了一个管理员特定的根页面。
namespace :admin do
root :to => "pages#welcome"
end
我也看到这个写为
authenticated :user do
root :to => 'pages#welcome'
end
我还没有找到使用namespace
和authenticated
之间的区别的明确描述,以及这可能对安全性有什么影响。
如果有人能启发我,或者给我一个清晰的描述,我将不胜感激。
谢谢!
- 命名空间路由将始终存在,这意味着您可以始终调用/管理员,它将路由到页面#welcome
- 只有当:用户登录时,经过身份验证的路由才会存在
我用它来创建一个root_path,它是登录用户的仪表板,但市场营销页面#欢迎非登录用户:
authenticated :user do
root :to => 'profile#show'
end
root :to => 'pages#welcome'
这里有一个为方法authenticated
设计文档的链接,它应该可以回答您的问题:http://rdoc.info/github/plataformatec/devise/ActionDispatch/Routing/Mapper#authenticated-instance_method