deferred_associations 0.6.5
Makes ActiveRecord defer/postpone saving the records you add to an habtm (has_and_belongs_to_many) or has_many association until you call model.save, allowing validation in the style of normal attributes. Additionally you can check inside before_save filters, if the association was altered.