Heroku - 用于导入模块的未初始化常量
Heroku - Uninitialized constant for importing a module
我有一个模块
lib/Basicstats.rb (module Basicstats ...etc. end)
我正在将其导入模型
class Vote < ActiveRecord::Base
include Basicstats
#additional class code etc.
end
I grep
-d 模块和 'Basicstats' 仅在 Basicstats.rb
和 app/model/vote.rb
中引用。
这对我的本地开发很有效。但是在我的 Heroku 部署过程中,我收到了这个错误,它似乎无法识别模块? (我也很好奇这在我的本地开发中如何工作而无需任何地方。)
2015-03-28T22:19:52.714077+00:00 app[web.1]: /app/app/models/vote.rb:16:in `<class:Vote>': uninitialized constant Basicstats (NameError)
听起来 Rails 没有明确要求或自动加载您的模块(这 will/won 不会发生,具体取决于您使用的 Rails 版本和config.autoload_paths
是如何配置的)。
您最好的选择是添加一个明确需要您的模块的初始化程序:
# config/initializers/basicstats.rb
require Rails.root.join('lib/basicstats')
我有一个模块
lib/Basicstats.rb (module Basicstats ...etc. end)
我正在将其导入模型
class Vote < ActiveRecord::Base
include Basicstats
#additional class code etc.
end
I grep
-d 模块和 'Basicstats' 仅在 Basicstats.rb
和 app/model/vote.rb
中引用。
这对我的本地开发很有效。但是在我的 Heroku 部署过程中,我收到了这个错误,它似乎无法识别模块? (我也很好奇这在我的本地开发中如何工作而无需任何地方。)
2015-03-28T22:19:52.714077+00:00 app[web.1]: /app/app/models/vote.rb:16:in `<class:Vote>': uninitialized constant Basicstats (NameError)
听起来 Rails 没有明确要求或自动加载您的模块(这 will/won 不会发生,具体取决于您使用的 Rails 版本和config.autoload_paths
是如何配置的)。
您最好的选择是添加一个明确需要您的模块的初始化程序:
# config/initializers/basicstats.rb
require Rails.root.join('lib/basicstats')