2010-11-27 5 views
0

Ich habe zur Zeit Mail-Setup meiner App wie folgt:Rails - Klasse UserMailer <Action :: Base

Schritt 1: Beobachter überwachen Tabellen und E-Mails versenden, wenn sie von after_save im Betrachter ausgelöst

Schritt 2: Der Beobachter ruft dann so etwas wie: UserMailer.XXXXXX_created_notification(record).deliver

Schritt 3: Benutzer Mailer die E-Mail aussendet:

def XXXXXX_created_notification(record) 
    @record = record 
    mail(:to => "#{record.email}", :reply_to => "Reply to XXXXX", :subject => "XXXXX Notification") 
    end 

Meine Frage zu Rails-Experten da draußen ist, möchte ich Benutzern die Möglichkeit bieten, bestimmte Site-weite Benachrichtigungen ein-/auszuschalten. Wo ist der beste Ort in Rails, um dies zu backen? In der user_mailer.rb-Datei, die innerhalb des oben genannten def? Oder im Beobachter?

Vorschläge? Ich würde gehen mit dem Betrachter

Dank

Antwort

0

Wenn ich wählen müsste aber - die meisten Leute, die ich gearbeitet habe würde diese Logik in die Steuerung empfiehlt bewegt. Es kann eine Reihe von Fällen geben, in denen Sie E-Mails nicht basierend auf beobachtetem Verhalten auslösen möchten - vielleicht verwenden Sie diese Modelle in einem Admin-Kontext oder arbeiten mit Modellen über die Konsole usw.

Verwandte Themen