将 Pundit 用于 Rails 5 使用两个不同的用户表(用户和管理员)进行授权

Using Pundit for Rails 5 Authorization with two different user tables (User and Admin)

如果在博客应用程序中使用 Pundit 进行授权,为用户和管理员设计具有不同用户表的身份验证,如何在以下位置实施帖子策略:

我在网上看到的例子中,似乎没有规定处理多个用户表,例如Admin和User。

拥有特定于各自表的 UserPolicy 和 AdminPolicy 很简单,但是 PostPolicy 如何实现类似以下的功能:

def initialize(COULD BE A USER OR ADMIN, scope)
  @user = USER OR ADMIN
  @scope = scope
end

def update?
  return true if user is either resource.user or ANY ADMIN
end

因为他们在不同的表中,我假设User和Admin也在不同的类中,你可以使用is_a?来检查。

def update?
  @user == resource.user || @user.is_a?(Admin)
end