【问题标题】:How do I use CanCan with rails admin to check for ownership如何使用 CanCan 和 rails admin 来检查所有权
【发布时间】:2011-12-21 14:47:16
【问题描述】:

当我的应用程序中的用户不是管理员用户时,我只想让他们看到他们拥有所有权的字段。

是否在每个字段的基础上设置了can :see 或类似的设置,以便它只显示使用“可以看到”的字段,或者我应该有一个名为can :oversee 的能力来声明他们可以而是查看所有内容。

我想在 rails admin 中检查用户是否是管理员要容易得多,所以在哪里设置 rails admin 只提取当前用户的记录。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 cancan rails-admin


    【解决方案1】:

    使用 cancan,您可以像这样检查对象的权限:

    if can?(:read, order)
      # do something!
    end
    
    if can?(:email, order)
      # do something!
    end
    

    但这只是指对象级别的可见性。

    在 RailsAdmin 中,您可以通过传入块来设置字段可见性,如 here 所述。

    例如:

    RailsAdmin.config do |config|
      config.model Order do
        list do
          field :name
          field :profit do
            visible do
              current_user.roles.include?(:admin)
            end
          end
        end
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 2011-10-09
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多