-1

如果我有用户对象并且用户有一个基本信息。在用户显示操作中,我有:

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

在 show.html.erb 我必须显示用户的基本信息,例如:

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

在这种情况下,我还应该在用户显示操作中授权 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 回答