0
現在、私はHeroku Schedulerで毎日実行するレーキタスクを持っています。Ruby On Railsを使ってブログを毎日自動的に生成する
現在、今日の日付がユーザーアカウントの「開始日」より後である限り、rakeタスクが実行される毎日、ユーザーに毎日新しい投稿が生成されます。
これはrakeタスクのためのコードです:
namespace :abc do
desc "Used to generate a new daily log"
task :create_post => :environment do
User.find_each do |currentUser|
starting_date = currentUser.start_date
Post.create!(content: "RAKED", user: currentUser, status: "new") if Date.today >= starting_date && Date.today.on_weekday?
end
puts "It worked yo"
end
end
私の問題は、誰かがアカウントを作るならば、いつか過去に彼らの開始日を設定している(ので、彼らは古い記事に記入することができます)私の現在のrakeタスクバック日付のポストは生成されません。誰かがこれを解決する方法についてのアイデアを持っているので、レーキタスクは現在の仕事を実行するだけでなく、このケースも処理しますか? Userモデルで
ありがとう、これは素晴らしい答えです! – Andrew
私はそれが助けてくれてうれしいです...私はより一般的なトピック/質問を変更することをお勧めします。あなたがバックデートに直面したエラーのように、または類似しています。実際には、「毎日の投稿を自動的に生成する方法」ではなく、異なっています。 –
こんにちは、ちょうどフォローアップ:私はこれを実装しようとした&私は次のエラーが表示されます:NoMethodError:未定義のメソッド 'upto ' – Andrew