diff --git a/lib/aasm/persistence/active_record_persistence.rb b/lib/aasm/persistence/active_record_persistence.rb index 09ae4fd..87b7496 100644 --- a/lib/aasm/persistence/active_record_persistence.rb +++ b/lib/aasm/persistence/active_record_persistence.rb @@ -132,9 +132,16 @@ module AASM end def aasm_fire_event(name, options, *args) - self.class.transaction(:requires_new => true) do + success = self.class.transaction(:requires_new => true) do super end + + if success + new_state = aasm.state_object_for_name(aasm.current_state) + new_state.fire_callbacks(:after_commit, self) + end + + success end end # InstanceMethods