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

Version Path
dirty_associations-0.4.4 README.rdoc
dirty_associations-0.4.3 README.rdoc
dirty_associations-0.4.2 README.rdoc
dirty_associations-0.4.1 README.rdoc
dirty_associations-0.4.0 README.rdoc
dirty_associations-0.3.0 README.rdoc
dirty_associations-0.2.1 README.rdoc
dirty_associations-0.2.0 README.rdoc