Unmaintained¶ ↑
This gem is unmaintained.
DirtyAssociations¶ ↑
Monitors changes to has_many
and has_and_belongs_to_many
associations using ActiveModel::Dirty.
Usage¶ ↑
Include DirtyAssociations
concern in your model.
include DirtyAssociations
Call monitor_association_changes
method after has_many
.
has_many :foos monitor_association_changes :foos
Check one of the following methods to see if the relation has changed:
-
changes
-
changed
-
previous_changes
-
[singularized_association_name]_ids_changed?
-
[singularized_association_name]_ids_previously_changed?
bar.foos = [ Foo.find(42) ] # or you can use the foo_ids setter bar.changes # { "foo_ids" => [[5], [42]] } bar.changed # [ "foo_ids" ] bar.foo_ids_changed? # true bar.foo_ids_previously_changed? # false bar.save bar.previous_changes # { "foo_ids" => [[5], [42]] } bar.foo_ids_changed? # false bar.foo_ids_previously_changed? # true