私は5回以上虐待を受けたユーザテーブルのユーザを削除するスケジューラタスクを実装しようとしています。これをuser.rbファイルで実現するには、report_abuse_deleteメソッドのメソッドを返します。このメソッドは、悪用されたユーザーを5回以上見つけてデータベースからレコードを削除する機能を実行します。あなたはscheduler.rbファイルでIを見ることができるようにgem in railsを使ってスケジュールタスクを実装する3
every 2.minutes do
rake "log:clear", :environment => "development"
runner "User.report_abuse_delete", :environment => "development"
end
ファイル
def report_abuse_delete
@delete_abused_user= Abuse.find(:all, :conditions=>['count>=?',5])
@delete_abused_user.each do |d|
@abused_user= User.find(d.abuse_id)
if @abused_user.delete
render :text=> "User account has been deleted. Reason: This user has been reported spam for more than 5 times"
UserMailer.user_delete_five_spam_report(@user).deliver
end
end
end
そして、これは私がScheduler.rbで書かれたものである:ここでは
は、Userモデルの私の方法であり、 2つの関数を実行しようとすると2分ごとにログがクリアされ、モデルに書き込んだreport_abuse_deleteメソッドを実行しようとしています。
2分ごとにログがクリアされていますが、私がモデルに書き込んだメソッドは呼び出されないので、機能が起動していないようです。私はすべてのウェブを検索し、すべての可能な方法をチェックしました。私は問題が何かを理解することができません。
お願いします。あらゆる種類の援助は歓迎されており、かなりの価値があります。
ありがとうChowlett。その働き。 – Sam
心配はいりません。ここの最初の良い質問!あなたは、この回答があなたにアップ投票をしてくれたことを示すことができます(上矢印をクリックしてください)。空のチェックマークをクリックすることで、正しいものとして受け入れることもできます。 – Chowlett