3

ユーザーがメール通知の頻度を設定できるようになることを楽しみにしています。

典型的なオプションを提供したいと思います: 直接メール、毎日および毎週のダイジェスト

Rails 3アプリケーション内でこれを構築するのに最適な戦略は何ですか?

皆さんありがとう !

4

1 に答える 1

5

テーブルに設定を格納するemail_frequency_preference文字列列を作成できます。users次に、電子メールの頻度の設定でユーザーを見つけることができます。

User.find_all_by_email_frequency_preference    # :instantly | :weekly | :monthly

またEvent、ユーザーに通知したい発生する可能性のあるイベントを表すモデルを、名前と説明とともに用意することをお勧めします。次に、作成日でイベントを見つけることができます。

Event.find :created_at => start_date..Date.today

ここで、3 つの周波数設定をすべて個別に処理する必要があります。

  1. イベントが発生するたびに、即時のイベント電子メール通知を好むすべてのユーザーを見つけて、すぐに送信します。

  2. 毎週の終わりに、その週に発生したすべてのイベントを見つけます。

    start_date = Date.today.beginning_of_week
    

    説明を 1 つのメールにまとめ、毎週のイベント メール通知を希望するすべてのユーザーを見つけて送信します。

  3. 毎月末に、その月に発生したすべてのイベントを見つけます。

    start_date = Date.today.beginning_of_month
    

    説明を 1 つのメールにまとめて、毎月のイベントのメール通知を希望するすべてのユーザーを見つけて送信します。

于 2011-06-11T17:49:36.073 に答える