1

我正在尝试将 Vanity gem 引入到一个项目中,并且在我尝试运行生成器之前一切都很顺利。这是电话:

rails generate vanity

这是输出:

找不到生成器“虚荣”。也许你的意思是“虚荣”、“任务”或“邮件”运行rails generate --help更多选项。

请注意,它找不到“虚荣”,然后暗示虚荣。呜?然后我花了一点时间来验证生成器是否确实存在:

rails generate --help | grep "anity"

并得到:

虚荣心:
虚荣心
虚荣心:意见

我正在使用 Spring,所以我用spring stop.

我还应该注意,我尝试了很多事情,例如:

rails generate Vanity:vanity
rails generate vanity:vanity
rails generate Vanity
rails generate oh:please:do:vanity

此外,我实际上正在使用捆绑器,所以我bundle exec在命令开头使用和不使用所有这些东西。

我想知道这个错误是否真的掩盖了我本地设置中的问题,但我已经仔细观察并确信虚荣的安装和设置是正确的。

版本信息:

ruby 2.5.5p157
Rails 5.2.3
Vanity 3.0.0

编辑:附加信息:我走上了停止 Spring 服务器、捆绑更新然后尝试生成器的路径——没有任何改变。我什至尝试过进入实际的生成器并在那里调试。在加载文件时,它从不执行任何方法。

4

1 回答 1

1

我自己解决了这个问题。事实证明,虚荣宝石并没有自动将生成器拉入加载路径。这意味着当调用生成器时,它会出错,因为它首先找不到实际的生成器类。

生成器错误掩盖了该错误并使其看起来像是无法找到生成器本身。

对此的修复是在 config/initializers/vanity.rb 文件中明确要求生成器。

虚荣宝石声称,在 Rails 应用程序中,这些类是“自动”可用的。

于 2019-07-26T12:58:48.593 回答