User
モデルの属性を更新するために定期的なレーキ タスクを実行しています。特定の属性が変更された場合にメーラーを実行したいのですが、attribute_changed?
クエリするインスタンスがわからないため、モジュールを呼び出すことができません。通常、after_save
コールバックを使用してモデルでこれを行います。
だから私はこれを持っています:
task :my_task => :environment do
User.all.each do |user|
@howmanythings = user.things.size
user.update_attribute(:total_things, @howmanythings)
user.save
//THIS IS THE BIT THAT DOES NOT WORK:
if user.total_things_changed? == true
SEND MAILER
end
end
end
現時点では、ユーザー。rake タスクがその属性を更新したかどうかに関係なく、total_things_changed?
が返されます。false
要するに、タスク内で after_save コールバック (または同等のもの) を実行するにはどうすればよいですか? よろしくお願いします。