Marlin Pierce
Marlin Pierce

Reputation: 10079

uninitialized constant Rails::Generators (NameError)

I'm updating the code for a generator that I wrote, but has been working fine until now.

When I simply rue the command

bundle exec rails g

I get the following error

/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)

The offending line is

class ItrcClientFilesGenerator < Rails::Generators::Base

My Rails version is

Rails 3.1.9

ruby version is

ruby 1.9.3p194

Upvotes: 13

Views: 5785

Answers (2)

Yshmarov
Yshmarov

Reputation: 3729

in application.rb you want to add generators to the ignorelist

config.autoload_lib(ignore: %w[assets tasks generators])

Upvotes: 1

d_ethier
d_ethier

Reputation: 3911

It looks like the Rails generator modules were pulled out and not automatically loaded at some point during Rails 3 development. This is probably for good reasons.

You have to include them in custom generators:

require 'rails/generators'

class ItrcClientFilesGenerator < Rails::Generators::Base
  # Fancy generator code here
end

Upvotes: 17

Related Questions