Skip to content

Conversation

@kindrowboat
Copy link

Why

We were unable to use ActiveModel::Serializers because the inverse of has_many were being saved as attributes (which are serialized) causing an infinite recursion between trying to serialize an object that a has_many and each of their inverses.

What changed?

See remi#292

Previous behavior was to set the inverse of `has_many` objects as attributes.
This can be problematic in the case of attempting to serialize attributes
(think, infinite recursion).  It is also different than how most other
relationship are expected to behave (i.e. saving them in the
`Association@cached_data`.  This commit exposes `Association#cached_data` and
has the `HasManyAssociation#fetch` attempt to save the inverse relationship in
the `cached_data` if such a relationship/association is defined (most often
through the `AssociationProxy`.
johnceh added a commit that referenced this pull request Oct 16, 2014
@johnceh johnceh merged commit a11f826 into RevSpring:master Oct 16, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants