** ³µÍ× [#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]]


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¥¢¡¼¥¯¥¦¥§¥Ö¤Î¥µ¡¼¥Ó¥¹¤ä¥½¥ê¥å¡¼¥·¥ç¥ó¤Ï¤³¤Á¤é