Rails 4 uninitialized constant for module

前端 未结 4 1964
不思量自难忘°
不思量自难忘° 2020-12-13 13:33

In a new rails 4 app I anm getting an unintialized constant error for a module. The module is named ProcessBill and is located in lib/process_bill.rb

console error:<

相关标签:
4条回答
  • 2020-12-13 13:47

    Have you added lib to your autoload path? This was necessary in Rails 3, I'm not sure if it's still required for Rails 4.

    Try adding this into the class definition in config/application.rb -

        config.autoload_paths += %W(#{config.root}/lib)
    
    0 讨论(0)
  • 2020-12-13 13:53

    Try adding this line to the top of your controller:

    require "#{Rails.root}/lib/process_bill.rb"
    
    0 讨论(0)
  • 2020-12-13 13:59

    This will also work in Rails 5 in your application.rb file:

        config.autoload_paths << Rails.root.join('lib')
        config.autoload_paths << Rails.root.join('lib/notifier')
    
    0 讨论(0)
  • 2020-12-13 14:07

    I had this problem too with the lib directory with Rails 5 and it appeared in production but not in development. To fix it you need to add the lib directory to eager_load_paths. Here is the relevant part from my application.rb:

    config.autoload_paths << "#{Rails.root}/lib"
    config.eager_load_paths << "#{Rails.root}/lib"
    
    0 讨论(0)
提交回复
热议问题