Heroku rake任务未初始化为MongoMapper模型的常量

时间:2011-12-04 22:27:15

标签: ruby-on-rails mongodb heroku mongomapper

我有一个小小的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 run console”引用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

1 个答案:

答案 0 :(得分:5)

发现问题,这很奇怪。

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

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