Heroku - 导入模块的未初始化常量

时间:2015-03-28 22:31:22

标签: ruby-on-rails heroku

我有一个模块

lib/Basicstats.rb   (module Basicstats ...etc. end)

我将其导入模型

class Vote < ActiveRecord::Base
    include Basicstats
    #additional class code etc.
end

grep - d代表模块和&#39; Basicstats&#39;仅在Basicstats.rbapp/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)

1 个答案:

答案 0 :(得分:1)

听起来你的模块没有被Rails明确要求或自动加载(根据你正在使用的Rails版本和config.autoload_paths的配置方式,这将不会发生。)

您最好的选择是添加一个明确需要您的模块的初始化程序:

# config/initializers/basicstats.rb

require Rails.root.join('lib/basicstats')