** ³µÍ× [#k97a675a]
class CommentObserver < ActiveRecord::Observer
def after_save(comment)
Notifications.deliver_comment("admin@do.com", "New comment was posted", comment)
end
end
¤Î¤è¤¦¤ËObserver¥¯¥é¥¹¤òÍÑ°Õ¤·¤Æ¤ª¤¯¡£
¤³¤ì¤Ç¡¢Comment#save¤¬¸Æ¤Ð¤ì¤ë¤È¡¢admin@do.com¤Ë¥á¡¼¥ë¤¬Èô¤Ö¡£
** ¥¯¥é¥¹Ì¾¤«¤é´Æ»ë¤¹¤ë¥¯¥é¥¹¤¬·èÄê¤Ç¤¤Ê¤¤¾ì¹ç [#t7db2b58]
class AuditObserver < ActiveRecord::Observer
observe Account
def after_update(account)
AuditTrail.new(account, "UPDATED")
end
end
- ¤³¤ì¤Ç¡¢Account#save¤¬¸Æ¤Ð¤ì¤¿¤¢¤È¤ËAuditObserver#after_save¤¬¸Æ¤Ð¤ì¤ë
- AuditObserver¤¬Account¤Î¤Û¤«¤Ë¡¢Balance¤â´Æ»ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢Ê£¿ô»ØÄê²Äǽ¡£
class AuditObserver < ActiveRecord::Observer
observe Account, Balance
def after_update(record)
AuditTrail.new(record, "UPDATED")
end
end
** ´Æ»ë¤Ç¤¤ë¥á¥½¥Ã¥É¤Ï [#m8736494]
http://railsapi.masuidrive.jp/module/ActiveRecord%3A%3ACallbacks
** Observer¤Î¥¯¥é¥¹¤òÃÖ¤¯¾ì½ê [#ic94ebf8]
- ÉáÄ̤ϡ¢app/model°Ê²¼
** Observer¤ò͸ú¤Ë¤¹¤ë¤Ë¤Ï [#af9a7c94]
config/environment.rbÆâ¤Ç¡¢config.active_record.observers¤ËÀßÄê¤òÄɲ乤ëɬÍפ¬¤¢¤ë¡£
config.active_record.observers = :comment_observer, :signup_observer
¤³¤ÎÀßÄê¤ò¤·¤Ê¤¤¤È¼Â¹Ô¤µ¤ì¤Ê¤¤¡£
#blikifooter(»ÖÅÄ)
tag: [[Ruby on Rails>tag/Ruby on Rails]]