ruby-on-rails - MongoMapper 模型的 Heroku rake 任务未初始化常量

标签 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

最佳答案

发现了问题,而且很奇怪。

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

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

关于ruby-on-rails - MongoMapper 模型的 Heroku rake 任务未初始化常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379079/

相关文章:

ruby-on-rails - 无法建立 Postgres SSL 连接

ruby-on-rails - 指定 Rails 版本

ruby-on-rails - 将值从 View 传递到 Controller ,无需查询字符串

javascript - 带日期的 Mongoose 混合类型字段

node.js - Mongoose 不会将文档保存到本地数据库

python - 如何构建 python phantomjs 项目以部署到 heroku

mysql - as_json 忽略 .where() 子句的第二部分

ruby-on-rails - ruby 是_a?对比===

MongoDB,查找属性id等于记录id的所有文档

python - Heroku:更改 requirements.txt 后出现 "directory exists"错误