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.
foo = Foo.new
bar = Bar.new
foo.bars << bar
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,