小编plc*_*sta的帖子

使用 Pundit gem 导出所有用户策略

如何使用 Pundit Gem 检索所有用户策略和范围?我需要返回一个包含所有用户策略的 json 对象来检查前端 javascript 模板中的权限。

使用 CanCanCan gem,我可以做这样的事情:

class Ability
  include CanCan::Ability

  # ....

  def to_list
    rules.map do |rule|
      object = { actions: rule.actions, subject: rule.subjects.map{ |s| s.is_a?(Symbol) ? s : s.name } }
      object[:conditions] = rule.conditions unless rule.conditions.blank?
      object[:inverted] = true unless rule.base_behavior
      object
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

可以用 Pundit 做同样的事情吗?

ruby ruby-on-rails cancan pundit cancancan

2
推荐指数
1
解决办法
393
查看次数

标签 统计

cancan ×1

cancancan ×1

pundit ×1

ruby ×1

ruby-on-rails ×1