SuperAPI AI 工具集

rails-architecture

通用与其它

查看项目

更新于 10-16 01:14

技能介绍

rails-architecture 是一个帮助开发者在 Rails 8 项目中做架构决策的参考指南,来源为 thibautbaissac/rails_ai_agents。

用途:当你不确定某段代码应放在哪一层,或在多种模式之间做选择时,可用它作为判断依据。它提供一棵架构决策树,把常见需求映射到对应层:视图显示格式化对应 Presenter;复杂业务逻辑对应 Service Object;复杂数据库查询对应 Query Object;跨模型共享行为对应 Concern;授权逻辑对应 Policy;带逻辑的可复用 UI 对应 ViewComponent;异步/后台任务对应 Job;多模型复杂表单对应 Form Object;事务邮件对应 Mailer;实时/WebSocket 对应 Channel;仅数据校验对应 Model;仅处理 HTTP 请求响应对应 Controller。

主要能力:一是分层职责表,列出 Controller、Model、Service、Query、Presenter、Policy、Component、Job、Form、Mailer、Channel 各自职责及不应包含的内容。二是“何时不抽象”与“何时抽象”两张判断表,用简单 CRUD、仅使用一次、简单查询、基础文本格式化等场景说明应保持简单,并用重复出现 3 次以上、控制器动作超过 15 行、模型超过 300 行、复杂条件、多表 join、跨模型表单等信号提示应做抽取。三是核心模式,包括瘦控制器委托服务、服务统一返回 Result 对象、默认多租户按 account 作用域查询。四是 Rails 8 特性对照,涉及认证 has_secure_password 生成器、Solid Queue 后台任务、Action Cable 与 Solid Cable 实时、Solid Cache 缓存、Propshaft 与 Import Maps 资源、Kamal 2 与 Thruster 部署。五是按层给出测试策略,以及新功能检查清单:模型、策略、服务、查询、控制器、presenter、组件、邮件、任务。

使用方式与限制:资料未提供独立安装命令或专门的运行步骤,正文中的示例代码与命令保持原样。它主要是架构决策参考,不代替具体实现;文档也提示参考文件如 layer-interactions、service-patterns、query-patterns、error-handling、testing-strategy,但资料中未给出这些内容。收费、价格与平台支持等信息暂未提供。