用途:为 Rails 应用构建可复用、自包含、可组合的 UI 组件,覆盖按钮、徽章、卡片、弹窗、空状态、提示框、数据表格等。
主要能力:提出“组件阶梯”决策框架,按复杂度从低到高选择方案——纯 CSS 类(单元素、纯视觉变体)、带 locals 的 partial(条件区块、多内容槽、复杂标记)、helper 方法(高频调用、更简洁的 Ruby API)、ViewComponent(需独立单测与复杂状态)。资料建议多数 Rails 应用从 CSS 起步,仅在感到痛点时上移,partial 加 helper 可覆盖约 90% 需求。
使用方式:先查找项目已有组件与约定,保持一致;按约定组织文件,partial 放 app/views/components/,CSS 放 app/assets/stylesheets/components/,helper 放 app/helpers/component_helper.rb。partial 需写注释块说明参数,用 local_assigns[:key] 判断可选参数、||= 设默认值、block_given? 与 yield 处理内容槽、capture 实现具名槽。CSS 用 @layer components 管理优先级,并优先使用设计令牌变量。可在开发环境建组件画廊页面集中浏览。
适用场景:新建可复用 UI 组件、在 CSS/partial/helper/ViewComponent 间做选择、重构重复标记、实现尺寸与状态变体、搭建组件画廊。
限制与注意:资料未提供安装命令、版本要求、收费或性能数据。反模式包括为一切建 partial、用 defined? 判断参数、组件样式污染全局、命名不一致、参数过多的“上帝组件”、缺少文档、直接传 HTML 字符串、没有画廊页。资料中出现的 find、rg、ls 等命令为示例检索命令,需按实际项目调整。