【问题标题】:Views with Multiple Admin-ish Roles具有多个管理员角色的视图
【发布时间】:2009-10-04 18:21:07
【问题描述】:

我有一个应用程序,其中有多个“管理员”角色。想象一下,您有一个可以编辑任何内容的超级管理员,还有一个可以编辑有关其站点的任何信息的站点管理员。

所以 admin/sites 和 siteadmin/sites 基本上是完全相同的视图。

正确的设置方法是什么(视图/控制器)?我尽量保持干燥。

【问题讨论】:

    标签: ruby-on-rails model-view-controller


    【解决方案1】:

    我是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)
    

    【讨论】:

    • 那么你将如何分解具有 90% 一致性的视图?大量的部分?视图中的逻辑?
    • 杰夫,你可以这样做。我都做过。这实际上取决于有多少重叠,以及它们是否可能保持相似,或者它们是否会在未来趋于分歧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2018-04-29
    • 2014-04-11
    • 2018-12-27
    • 1970-01-01
    相关资源
    最近更新 更多