Rails 4:应用初始化时未初始化的常量 - 在暂存环境中的lib加载问题

时间:2014-11-28 14:16:28

标签: ruby-on-rails ruby-on-rails-4

我在登台环境中运行rake db:setup

bundle exec rake db:setup RAILS_ENV=staging

我的config / environments / staging.rb

Rails.application.configure do
    ..
    config.eager_load = true
    ..
end

我在应用初始化期间收到此错误:

: uninitialized constant ApplicationHelper::MyModule
 ../my_test/app/helpers/application_helper.rb:4:in `<module:ApplicationHelper>'

/app/helpers/application_helper.rb

module ApplicationHelper
  include MyModule::Ditto::Base
  include MyModule::Ditto::MyHelper
  ..
end

并且lib文件是:

/lib/misc/my_module/ditto/base.rb
module MyModule
    module Ditto
        module Base
        …
        end
    end
end

/lib/misc/my_module/ditto/my_helper.rb
module MyModule
    module Ditto
        module SliderHelpers
        …
        end
   end
end

我猜lib中的模块不是自动加载的..(一切都在开发环境中运行良好,因为所有的lib&#39;要求&#39;是硬编码的.. 我应该添加什么才能让它在staging / prod环境中运行?

谢谢你的灯......

1 个答案:

答案 0 :(得分:1)

config.autoload_paths += %W(#{config.root}/lib)添加到config/application.rb