activerecord after transaction 事务后执行过程
交易后活动记录事务后执行proc。如果您使用after_commit,基本上不需要这个gem。但是,假设您有state_machine gem并且想在转换后做一些事情,gem没有提供这样做的方法。在这种情况下,您可能已经编写了以下代码:
def after_commit ( record )
if record.previous_changes[:state] == ['draft', 'published']
UserMailer.notify_publish(record).deliver
elsif record.previous_changes[:state] == ['draft', 'deleted']
UserMailer.notify_delete(record).deliver
end
用户评论