You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法在Rails应用中挂载新生成的Rails engine 提示未初始化常量错误

问题原因及解决方案
  • 最常见的原因是引擎目录下lib/testengine.rb缺少Engine类的引入声明。正常rails plugin new --mountable生成的该文件默认包含以下内容,若你修改过该文件请补全:
require "testengine/engine"

module Testengine
end

主应用加载testengine gem时会首先加载该文件,如果没有require "testengine/engine"这行,引擎核心的Engine类、以及app目录下的模型、控制器等资源都不会被主应用自动加载,就会出现你遇到的常量缺失报错。

  • 若上一步配置正确,仍出现报错,请检查lib/testengine/engine.rb文件是否存在,内容应符合以下规范:
module Testengine
  class Engine < ::Rails::Engine
    isolate_namespace Testengine
  end
end

该文件是mountable类型引擎的核心入口,定义了命名空间隔离规则和Rails集成逻辑。

  • 配置修改完成后,重启主应用的Rails服务/控制台,重新加载gem即可生效。后续可正常执行引擎的迁移同步:
rails testengine:install:migrations
rails db:migrate

内容的提问来源于stack exchange,提问作者SkyNT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:54:03