У меня есть две модели билетов и TicketComment, то TicketComment является дочерним билете.Rails accepts_nested_attributes_for обратных вызовов
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, добавлен комментарий пользователя «текст») в ОДНОМ электронном письме в методе обратного вызова?
Ага, я думаю, я неверно истолковал ваш вопрос. Извиняюсь. Я постараюсь придумать реальное решение. –