Ruby on Rails 2.1 - 回调函数

在活动记录对象的生命周期中,您可以挂接八个事件 −

  • (-) save
  • (-) valid?
  • before_validation
  • before_validation_on_create
  • (-) verify
  • (-) verify_on_create
  • after_validation
  • after_validation_on_create
  • before_save
  • before_create
  • (-) create
  • after_create
  • after_save
  • before_create
  • (-) create
  • after_create
  • after_save

示例

class Subscription < ActiveRecord::Base
   before_create :record_signup
	
   private
   def record_signup
      self.signed_up_on = Date.today
   end
end

class Firm < ActiveRecord::Base
   # Destroys the associated clients and 
   # people when the firm is destroyed
   before_destroy{
      |record|Person.destroy_all "firm_id= #{record.id}"
   }
   before_destroy{
      |record|Client.destroy_all "client_of= #{record.id}"
   }
end

rails-quick-guide.html