Sha256: 9c0f2d5516343cb12134f96a64ff75654ce3f544bdd12d1e16a0e3f9c79e3f9a
Contents?: true
Size: 987 Bytes
Versions: 8
Compression:
Stored size: 987 Bytes
Contents
= DirtyAssociations Monitors changes to <tt>has_many</tt> and <tt>has_and_belongs_to_many</tt> associations using ActiveModel::Dirty. == Usage Include <tt>DirtyAssociations</tt> concern in your model. include DirtyAssocations Call <tt>monitor_association_changes</tt> method after <tt>has_many</tt>. has_many :foos monitor_association_changes :foos Check one of the following methods to see if the relation has changed: - <tt>changes</tt> - <tt>changed</tt> - <tt>previous_changes</tt> - <tt>[singularized_association_name]_ids_changed?</tt> - <tt>[singularized_association_name]_ids_previously_changed?</tt> 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
Version data entries
8 entries across 8 versions & 1 rubygems