Ruby on Rails Friday, July 7, 2017

On 7 July 2017 at 15:25, Alex Morton <mortonar01@gmail.com> wrote:
> I have a model called Dataset which registers an after_save callback to do
> some work when its name attribute has changed. This callback is manipulating
> a DatasetLink model but the association between the two is through another
> model called Attribute.
>
> The scenario I'm hoping to come to an explanation for is this:
> Within the after_save callback, the immediate reference to the Dataset model
> that's changing returns true for name_changed? and changed?. However, when
> traversing the association to a DatasetLink record, the link's reference to
> the dataset has the new value for the name but it doesn't register the
> dataset as being changed nor the name being changed. It just has the new
> name.

Since traversing the associations probably means that the record will
be re-read from the database it is correct that the changed flags are
not set (for that in-memory record), as the value of name in the
record in memory has not changed since it was read.

Colin

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLvNvPb361BqxteVHDp%2BAV6FsJ3tykZpPbPRjAqz1GwDqA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment