Rails 插件生成器出现 Zeitwerk 加载错误

我想使用 Rails 插件生成器 开发一个新插件

git clone https://github.com/discourse/discourse
rails g plugin discourse-xxx
rails s 

错误信息:

Zeitwerk::NameError:Module 从目录推断出错误的常量名称 Discourse-xxx

/Users/project/discourse/plugins/discourse-xxx/app/controllers/discourse-xxx

可能的解决方法:

  • 告诉 Zeitwerk 忽略此特定目录。
  • 告诉 Zeitwerk 忽略其父目录之一。
  • 重命名目录以符合命名规范。
  • 修改推断器以处理此情况。

但是,如果插件名称中没有 “-”,则一切正常。

rails g plugin xxx
rails s

2 个赞

自从我们采用 Zeitwerk 后就没再看过它。我会去查看一下。

6 个赞

已修复