0

アプリ内のユーザーが管理者ユーザーでない場合、自分が所有しているフィールドのみを表示したいと考えています。

can :see「見ることができる」を使用するフィールドだけを表示するように、フィールドごとにそのようなセットまたはそのようなものがありますか、それともcan :oversee代わりにすべてを見ることができると述べるために呼び出される能力が必要ですか.

ユーザーが管理者であるかRails管理者ではないかを確認する方がはるかに簡単だと思うので、現在のユーザーのレコードのみをプルするようにRails管理者を設定します。

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 に答える