-1

ユーザー オブジェクトがあり、ユーザーが 1 つの basicinfo を持っている場合。ユーザーショーアクションで私は持っています:

def show
  @user = User.find params[:id]
  authorize @user
end

そして show.html.erb では、次のようなユーザーの基本情報を表示する必要があります。

User name is: <%= @user.basicinfo.name %>

この場合、ユーザーの show アクションで basicinfo も許可する必要がありますか?

def show
  @user = User.find params[:id]
  authorize @user
  authorize @user.basicinfo, :show?
end
4

1 に答える 1

1

許可はアクション全体に適用されます。

ビュー内のいくつかの要素を除外したい場合は、アドホック ベースで行うことができます。基本的には、xxxPolicy クラスで使用している属性を適用します (上記では提供されていません)。

ユーザー認証の処理は、Pundit では複雑すぎる可能性があります

def initialize(user, user)

ユーザーのアクションに関しては、ビューで確実にフィルタリングを行います

于 2013-12-04T06:46:27.940 に答える