書籍が25秒以上前に作成された場合、データベースの列を更新しようとしています(デプロイすると、7日前になりますが、それほど長く待つことはできません:))。
モデル:
class Book < ActiveRecord::Base
attr_accessible :author, :date, :description, :order, :title, :user_id, :author, :status, :queued
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :remember_me, :user_id, :name, :bio
has_many :books
end
コントローラ:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@book = Book.new
@books = Book.select("DISTINCT name, id") # Not used right now
@sequence = @user.books
@sequence.each do |book|
book.created_at >= 25.seconds.ago ? book.queued = false : nil
end
end
ユーザーショービュー:
<% @sequence.order("created_at DESC").where(:queued => false).each do |book| %>
私はこれを機能させることにさえ近づいていますか?私は何が間違っているのですか?ご覧のとおり、25秒後に「queued」属性をfalseに変更したいと思います...
編集
これを機能させるには、Herokuのスケジューラのようなものを使用する必要があると言われました。そのようなものなしでこれがデータベースを更新する方法はありませんか?