-2

レールに新しく、今のところウィンドウを使用しています。ユーザーが名前、日付、電子メールを挿入するWebページがあります。彼の日付入力に応じて、私は彼に電子メールを送りたいです(if @dop.date=date.now-7.days then send email)。どうすれば実装できますか?? システムがユーザーの日付を取得し、ユーザーが日付を挿入したかどうかを確認し、日付が7日間経過してから彼にメールを送信したい...


class UserMailer < ActionMailer::Base
  default from: "from@example.com"

  def welcome_email(dop)
    @dop = dop
    @url  = "http://example.com/login"
    mail(:to => dop.mail, :subject => "Welcome to My Awesome Site")
  end
end

 def create
    @dop = Dop.new(params[:dop])

    respond_to do |format|
      if @dop.save
        UserMailer.welcome_email(@dop).deliver
        format.html { redirect_to @dop, notice: 'Dop was successfully created.' }
        format.json { render json: @dop, status: :created, location: @dop }
      else
        format.html { render action: "new" }
        format.json { render json: @dop.errors, status: :unprocessable_entity }
      end
    end
  end

ここに私のモデルがあります: class Dop < ActiveRecord::Base attr_accessible :date,:mail,:name validates_presence_of:name validates_presence_of:mail validates_uniqueness_of:mail

終わり


4

1 に答える 1

1

cronを使用して、繰り返しレーキタスクをスケジュールします。herokuを使用している場合は、アドオンとしてcronを入手できます。しかし、最初に、もちろん、あなたはレーキタスクを書く必要があります-ヒントのために:

http://railscasts.com/episodes/66-custom-rake-tasks/

http://jasonseifer.com/2010/04/06/rake-tutorial

長いものと短いもの-rakeは、さまざまなタスクを定義し、それらのタスク間の依存関係を確立できるようにするファイルです。これは、管理/クリーンアップツール、または場合によっては、アプリケーションの実際の実行以外のものに最適です。

于 2012-06-26T14:31:43.183 に答える