0

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

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

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

4

1 回答 1

3

使用 cancan,您可以检查对象的权限,如下所示:

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

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

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

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

例如:

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
于 2012-02-10T05:14:06.903 回答