【发布时间】:2012-12-31 23:21:34
【问题描述】:
desc "This task is called by the Heroku scheduler add-on"
task :queue => :environment do
puts "Updating feed..."
@books = Book.all
@books.update_queue
puts "done."
end
我在 lib/tasks 中名为 scheduler.rake 的文件中有上述代码。当我运行rake queue 时,我得到:
Updating feed...
rake aborted!
undefined method `update_queue' for #<Array:0x007ff07eb3ffd0>
该方法在我的 Books 模型中定义如下:
def update_queue
days_gone = (Date.parse(:new_books.last.created_at.to_s) - Date.today).to_i
unless days_gone > -7
new_book = self.user.books.latest_first.new_books.last
new_book.move_from_queue_to_reading
user.books.reading_books.move_from_reading_to_list
else
self.user.books.create(:title => "Sample book", :reading => 1)
end
end
这只是没有访问书籍,这就是为什么它给我这个未定义的错误?我在这里做错了什么?我只是想更新每本书的记录。
【问题讨论】:
标签: ruby-on-rails cron rake