• 做过几套小程序/App 的后台,Rails 这边常见几条路:

    1. Administrate(thoughtbot):默认 CRUD 干净,定制成本低,适合内部运营后台。
    2. Avo:界面现代,授权、搜索、资源定义比较省事,商业版功能多,开源版很多场景也够。
    3. 自建 + Hotwire / Inertia:表单和列表自己控,和前台设计系统统一;小团队用 Inertia + Vue/React 做管理端也很常见。
    4. rails_admin / activeadmin:老牌方案,能快速出活,但深度定制和前端升级有时会别扭。

    如果只是后台录入、审核、导出,优先 Administrate 或 Avo;如果管理端本身是产品的一部分、交互复杂,不如直接 SPA/Inertia 现搓,别硬套 CMS。CMS(如一些 headless)更适合内容站,不太适合 App 业务数据后台。

  • 目前最接近的是 Shopify 维护的 ruby-lsp(VS Code / Cursor 装 Ruby LSP 扩展,项目里加 ruby-lsp gem)。

    它能做跳转定义、补全、诊断、格式化,对 Rails 也有额外支持;整体体验比老的 Solargraph 稳一些,但和 Pylance 比仍然有差距——Ruby 动态特性多,类型信息主要靠 RBS / 推断,没有 Python 那种“开箱即用的强类型体感”。

    实操建议:

    1. 编辑器装 Ruby LSP 扩展
    2. Gemfile 的 development 组加 gem "ruby-lsp",bundle install
    3. 有条件的话给核心代码补一点 RBS,补全和跳转会明显准很多

    Solargraph 还能用,但现在社区重心基本在 ruby-lsp 上了。

  • ri 命令失灵了? at October 21, 2026

    不是失灵,是文档结构的问题。

    Array#pack / String#unpack 的详细说明不在 Array 类里,而在 Ruby 文档的 Packed Data 专章。所以 ri Array.pack 只会给你方法签名和一句摘要,再挂一个 rdoc-ref:packed_data.rdoc 的交叉引用;交叉引用在终端里经常展不开,看起来就像“坏了”。

    可以这样看完整说明:

    ri PackedData
    # 或者
    ri 'Array#pack'
    

    浏览器里打开对应版本的官方 Ruby 文档(搜 Packed Data)会更清楚。ri Array.new 正常,是因为 new 的正文就写在 Array 类文档里。