【发布时间】:2010-05-11 22:29:19
【问题描述】:
我有两个模型 Ticket 和 TicketComment,TicketComment 是 Ticket 的子代。
ticket.rb
class Ticket < ActiveRecord::Base
has_many :ticket_comments, :dependent => :destroy, :order => 'created_at DESC'
# allow the ticket comments to be created from within a ticket form
accepts_nested_attributes_for :ticket_comments, :reject_if => proc { |attributes| attributes['comment'].blank? }
end
ticket_comment.rb
class TicketComment < ActiveRecord::Base
belongs_to :ticket
validates_presence_of :comment
end
我想做的是模仿 Trac 中的功能,如果用户对工单进行更改和/或添加评论,则会向分配给工单的人员发送一封电子邮件。
我想使用 after_update 或 after_save 回调,以便在我发送电子邮件之前知道信息已全部保存。
如何检测模型的更改 (ticket.changes) 以及是否创建了新评论 (ticket.cmets) 并在回调方法中的一封电子邮件?
【问题讨论】:
-
啊哈,我想我误解了你的问题。道歉。我会尝试提出一个实际的解决方案。
标签: ruby-on-rails callback nested-class