When a save of a record is going to cause more than one record to be saved because they have been associated with each other, if one of the records has a before_save callback which returns false, then that record is not saved (which is correct) but the records saved up to that point are not rolled back.
e.g.
foo = Foo.new bar = Bar.new foo.bars << bar foo.save
If bar has a before_save call back that returns false, foo will get saved and the foo.save call will return true.
Perhaps that is what should happen but I was expecting the whole transaction to get rolled back.
I opened a bug report on this but it was closed. I need to supply a testcase. Thats fine... But I'd like first to know if this is bug or maybe a bug or definitely not a bug.
Thank you for you time, Perry