The reason for this is that aasm wraps the save into a transaction, which rolls back on exception.
Currently there is no callback available for your purpose, but I could imagine something like
event :close do
transitions from: :normal, to: :closed
assure do
action_1(...)
action_2(...)
end
end
where action_1
and action_2
will be executed even in case of an exception.
Please add an issue to the github repository and I will take care of that.