交易后活动记录事务后执行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 ) . d