Ich arbeite am Post-Scheduling-Modell, indem ich "whenew" mit dem Status published_at, schedule und drafts verwende. Aber das Problem ist zu gegebener Zeit, dass Post seinen Status von Schedule zu Published_at nicht ändert.Postplanung im Ruby-Blog
#schedule.rb
every 1.minute do
rake 'scheduler'
end
#example.rake
task scheduler: :environment do
time = Time.zone.now
posts = Post.scheduled.where(published_at: (time))
posts.update_all(status: "Published")
end
Wenn ich die Zeit von 1.minute auf einen Tag ändern ist es wichtig? –
Es spielt eine Rolle, hängt von Ihrer Frage ab, ob Sie 'published_at == Time.now' erwarten und wann Time.now ausgeführt wird, Beispiel 3:14:21 oder 3 Uhr 14 Minuten 21 Sekunden, so dass Post nur mit gefunden wird published_at nur für diesen Wert. Deshalb setze ich 'publiced_at <= now()' mit dem Status "nicht veröffentlicht", was bedeutet, dass alle Entwürfe, die veröffentlicht wurden, jetzt niedriger oder gleich der Zeit sind. – JackBites