我有一个应用程序,其中有多个“Admin-ish”角色。想象一下,你有一个可以编辑任何东西的超级管理员,还有一个可以编辑有关他网站的任何信息的网站管理员。
因此,admin / sites和siteadmin / sites基本上都是完全相同的视图。
正确的设置方式是什么(视图/控制器)?我想尽可能保持干燥。
答案 0 :(得分:0)
我是Rails Authorization插件的忠实粉丝
这使您可以轻松地将角色分配给对象并使用块来授予访问权限。
@a.has_role('admin')
@b.has_role('super_admin')
permit "admin or super_admin' do
# Show admin and super_admin stuff
end
permit 'super_admin' {}
您还可以授予其他对象或类的访问权限。
@user.has_role('photographer', @photo)
@user.has_role('news_poster', NewsPost)