我有一个模块
lib/Basicstats.rb (module Basicstats ...etc. end)
我将其导入模型
class Vote < ActiveRecord::Base
include Basicstats
#additional class code etc.
end
我grep
- d代表模块和&#39; Basicstats&#39;仅在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)
答案 0 :(得分:1)
听起来你的模块没有被Rails明确要求或自动加载(根据你正在使用的Rails版本和config.autoload_paths
的配置方式,这将不会发生。)
您最好的选择是添加一个明确需要您的模块的初始化程序:
# config/initializers/basicstats.rb
require Rails.root.join('lib/basicstats')