J'ai 2 modèles Ticket et TicketComment, le TicketComment est un enfant de Ticket.Rails accepte_nested_attributes_for callbacks
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
Ce que je veux faire est d'imiter la fonctionnalité dans Trac, où si une l'utilisateur apporte une modification au ticket, et/ou ajoute un commentaire, un email est envoyé aux personnes affectées au ticket.
Je souhaite utiliser un rappel after_update ou after_save, afin que je sache que toutes les informations ont été enregistrées avant d'envoyer des e-mails. Comment puis-je détecter des changements dans le modèle (ticket.changes) et savoir si un nouveau commentaire a été créé ou non (ticket.comments) et envoyer cette mise à jour (x change pour y, l'utilisateur ajoute un commentaire 'texte') dans un email dans une méthode de rappel?
Aha, je suppose que je mal interprété votre question. Excuses. Je vais essayer de trouver une solution réelle. –