Предполагается, что ваши модели следующие:
class AuditLog < ActiveRecord::Base
belongs_to :auditable, :polymorphic => true
end
class Photo < ActiveRecord::Base
has_many :audit_logs, :as => :auditable
end
Обратные вызовы наблюдателя похожи на обычные фильтры до и после модели. Обратный вызов происходит в том же блоке выполнения, что и вызов сохранения. Таким образом, вы должны иметь возможность доступа к объектам AuditLog, используя связь на модели Photo.
if photo.save
audit_log = photo.audit_logs(:order => "id DESC").first
# return the audit_log feed
else
# error
end