2012-01-10 7 views
2

私のプロジェクトに(もっと少し)スマートな通知システムを実装することを考えています。 私がしたいのは、いくつかの新しいメールについてユーザーに電子メールを送信することです。プライベートメッセージは、新しいメッセージを受信するたびに一定の時間内に送信します。もちろん は delayed_job なしでは存在しませんが、ここで私はactionmailerの程度ETIC質問のカップルを持っている:Rails - アクションメーラの慣習

あなたはメーラークラスに入れることができますどのように多くのロジック
  1. メーラークラスのメソッド内でデータベースクエリを実行できますか?

答えて

2

私はActionMailerのロジックを最小限に保つことを勧めます。電子メールをレンダリングして実際の配信を行うだけです。

はい私は遅延された電子メールを送ることができないので、delayed_jobロジックを少し複雑にしていることに気付きます。

5

システム内で発生するさまざまな「通知」の電子メール「ダイジェスト」を送信します。

ActionMailerを使って電子メールを送信するロジックをNotificationクラスに移動することをお勧めします。これにより、notified(またはそれに類する)のフラグがfalseに設定された通知が維持されます。

次に、受け取る必要のある通知を受け取った人にダイジェスト電子メールを送信するジョブを毎日実行します(または同様のもの)。

+0

あなたはそのために別のモデルとコントローラが必要なのですか? – jibiel

+0

モデルyes、コントローラno。 –

関連する問題