如何从专家(Rails)中的特定政策进行授权

时间:2015-08-15 16:52:46

标签: ruby-on-rails pundit

有没有办法在authorization的{​​{1}}方法中指定策略类?当你这样做

Pundit

它使用 authorize @user, :show 类,因为UserPolicy@user(模型)实例。有人知道在另一个策略类上执行User方法的方法吗?像authorize一样,没有CustomerPolicy模型类。

1 个答案:

答案 0 :(得分:2)

您可以使用符号而不是模型实例来调用"无头"政策(没有支持模式的政策)。

authorize :customer, :show
# or for a namespaced policy
authorize [:people, :customer] 

另一种选择是在模型类上设置策略:

class User < ActiveRecord::Base
  def self.policy_class
    CustomerPolicy
  end
end