私はTicketとTicketCommentの2つのモデルを持っています。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.comments)を検出し、この更新(xのyへの変更、ユーザーが追加したコメント'text')を1通の電子メールで送信するにはどうすればよいですか?コールバックメソッド?