On 7 July 2017 at 15:25, Alex Morton <[email protected]> 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 [email protected]. To post to this group, send email to [email protected]. 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.

