SuperAPI AI 工具集

action-policy-coder

编程与开发

查看项目

更新于 10-15 21:09

技能介绍

用途:使用 ActionPolicy 实现 Rails 授权,覆盖策略类、控制器授权、集合作用域过滤、缓存、国际化错误消息和测试。

主要能力:生成策略类与继承规则;在控制器用 authorize! 和 allowed_to? 授权;用 authorized_scope 过滤集合,支持类型和别名;用 cache 缓存昂贵检查,可在初始化器配置缓存存储;用 I18n 本地化失败消息;用 ActionPolicy RSpec matchers 写测试;集成 GraphQL(preauthorize)和 ActionCable。

安装: gem "action_policy" gem "action_policy-graphql" # For GraphQL integration bin/rails generate action_policy:install bin/rails generate action_policy:policy Post

用法:策略类继承 ActionPolicy::Base,用 alias_rule 和 pre_check 复用与前置校验规则;控制器中 authorize! 记录,授权特定动作时可用 to: :publish?;视图用 allowed_to? 条件渲染;作用域用 relation_scope 定义,调用 authorized_scope(Post.all) 或指定 type/as。缓存需配置 config.cache_store,I18n 失败消息可经 rescue_from ActionPolicy::Unauthorized 读取 exception.result.message。

适用场景:Rails 应用的资源级授权、列表过滤、GraphQL/ActionCable 集成,以及需要可组合规则和策略测试的项目。

限制:资料未提供价格、收费、平台兼容范围、性能基准或与 Pundit 的具体对比评估;具体测试、GraphQL、ActionCable 和缓存细节需参考其 patterns.md,本整理不替代官方文档。