This does fix the issue for us because we are so far only referencing the reciprocal association in the validate method, however I think there is still an issue with the reciprocal association being cleared that is not present for other association types.
I updated the gist to reproduce: https://gist.github.com/benalavi/20817b785a08d16912f82ce31afde029 The one_to_one association (cover) is now validated only once, however the reciprocal association (album) is present when validate is called, but then is nil when after_save is called. I would guess that this could cause issues especially since it doesn't happen for the one_to_many association. Output of the gist w/ the validation fix: create Album + one_to_many Artist + one_to_one Cover #<Artist:0x007f52c4b688e8> validate #<Album:0x007f52c4b6b890> #<Cover:0x007f52c51e5b30> validate #<Album:0x007f52c4b6b890> #<Artist:0x007f52c4b688e8> after_save #<Album:0x007f52c4b6b890> #<Cover:0x007f52c51e5b30> after_save #<Album:0x007f52c4b5ce08> create Album update Album + one_to_many Artist #<Artist:0x007f52c52018a8> validate #<Album:0x007f52c5203bf8> #<Artist:0x007f52c52018a8> after_save #<Album:0x007f52c5203bf8> update Album + one_to_one Cover #<Cover:0x007f52c520fd18> validate #<Album:0x007f52c5203bf8> #<Cover:0x007f52c520fd18> after_save ^ In that last line the album reference is nil On Thursday, December 13, 2018 at 7:57:09 AM UTC-8, Jeremy Evans wrote: > > On Thursday, December 13, 2018 at 7:34:01 AM UTC-8, Jeremy Evans wrote: >> >> On Wednesday, December 12, 2018 at 11:55:14 PM UTC-8, Ben Alavi wrote: >>> >>> Hey Jeremy, >>> >>> I believe this is a bug: >>> >>> Example: >>> https://gist.github.com/benalavi/20817b785a08d16912f82ce31afde029 >>> >>> The create works, the update fails. >>> >>> Both the create and update call validate twice on the one_to_one >>> associated model, validate is only called once for the one_to_many >>> associated model. >>> >>> During the update the reciprocal association is set when validate is >>> called for the first time, and is nil the second time. >>> >>> The bug looks like it appeared in 5.10.0, example works in 5.9.0 >>> >>> Getting late so I haven't dug into a fix yet but I thought I'd post it >>> because it looks like it might be the same issue or related to the recent >>> change for one_to_many relationships. >>> >> >> Thanks for the reproducible example, this definitely looks like a bug. >> I'll work on a fix right away. >> > > This should be fixed by > https://github.com/jeremyevans/sequel/commit/1d99e02723fb1fca5ec3faab0c701c15c4815971, > > could you please test that and let me know whether it fixes the issue for > you? > > Thanks, > Jeremy > -- You received this message because you are subscribed to the Google Groups "sequel-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]. Visit this group at https://groups.google.com/group/sequel-talk. For more options, visit https://groups.google.com/d/optout.
