【问题标题】:Heroku rake task uninitialized constant for MongoMapper modelMongoMapper模型的Heroku rake任务未初始化常量
【发布时间】:2012-01-12 19:48:31
【问题描述】:

我有一个很小的 ​​rake 任务,它只是将一个新的延迟作业放入队列中。我已经插入了调试行

desc 'Start processing new rss feed articles'
    task :process_new_articles => :environment do
    config = RSS_CONFIG
    feeds = config['rss_feeds']

    puts Article.all

    feeds.each do |feed|
       Delayed::Job.enqueue ProcessNewArticlesJob.new(feed, config['settings'])
    end
end

似乎正在正确加载配置信息。但我在运行任务时收到“未初始化的常量文章”错误。文章是一个 MongoMapper 模型。我已验证与数据库的连接(在 MongoLab 上)工作正常。

这一切在本地都很好用。

--

更奇怪的是,使用“heroku 运行控制台”引用 Article.all 效果很好。

--

堆栈跟踪没有显示太多:

2011-12-04T22:33:02+00:00 app[start.1]: rake aborted!
2011-12-04T22:33:02+00:00 app[start.1]: uninitialized constant Article

【问题讨论】:

  • 你能显示堆栈跟踪吗?

标签: ruby-on-rails mongodb heroku mongomapper


【解决方案1】:

发现了问题,这很奇怪。

我不小心将我的文章模型文件“Article.rb”命名为大写字母 A。这导致 Heroku 在运行“rake 环境”时无法识别它。

奇怪,很可能是一个错误?

【讨论】:

  • 我目前有同样的问题(作为 OP),这对我来说不是问题,我的“未初始化常量”确实是指用小写文件名定义的类。
猜你喜欢
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多