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
我在一个名为scheduler.rake
lib/tasks 的文件中有上述代码。当我跑步时,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
这只是没有访问书籍,这就是为什么它给我这个未定义的错误?我在这里做错了什么?我只是想更新每本书的记录。