我正在更新我编写的生成器的代码,但到目前为止一直工作正常。
当我只是后悔这个命令时
bundle exec rails g
我收到以下错误
/Users/mpierc200/projects/prototype_conflux/vendor/gems/itrc_client_files_generator-1.0.13/lib/itrc_client_files_generator.rb:6:in `<top (required)>':
uninitialized constant Rails::Generators (NameError)
有问题的线路是
class ItrcClientFilesGenerator < Rails::Generators::Base
我的 Rails 版本是
Rails 3.1.9
Ruby 版本是
ruby 1.9.3p194
看起来 Rails 生成器模块在 Rails 3 开发过程中的某个时刻被拉出并且没有自动加载。这可能是有充分理由的。
您必须将它们包含在自定义生成器中:
require 'rails/generators'
class ItrcClientFilesGenerator < Rails::Generators::Base
# Fancy generator code here
end
在 application.rb 中,您想要将生成器添加到忽略列表中
config.autoload_lib(ignore: %w[assets tasks generators])