Ok great, I'll take a look at your test case and see if I can provide a
failing test.  Thanks for the reply.

On Tue, Dec 3, 2019 at 9:55 AM Aaron Lipman <alipma...@gmail.com> wrote:

> Hi Andrew,
>
> Afraid I'm not a Rails member, but I have been working on a couple
> caching-related bugs in Rails as of late. The behavior you're describing
> looks buggy, but I'm not quite able to replicate the issue from the example
> code you provided, so I'm having trouble understanding exactly where the
> discrepancy between Rails 5.2 and 6 is coming from. Would you be able to
> provide a failing executable test case, or explain in more detail the
> circumstances which trigger the behavior you're experiencing?
>
> If useful, here's an executable test case I wrote as a starting point:
> https://gist.github.com/alipman88/d499739a466f3e6b6746eeccfa567f9a
>
> (It may be practical to open an issue via GitHub and continue conversation
> there, moving forward.)
>
> On Mon, Dec 2, 2019 at 8:38 PM Andrew Kaspick <akasp...@gmail.com> wrote:
>
>> Hello,
>>
>> I've found a regression in Rails 6 while upgrading my Rails 5.2 app that
>> I'm sure is not correct behavior but I'd like a core member to confirm or
>> not before I create a PR for it.  The root of the problem lies in the
>> association cache in the internals of ActiveRecord.  The example below is
>> the root of a more complex issue in my app, but the following is as basic
>> as I can get to show the issue.
>>
>> class Customer
>>   has_many :appointmentsend
>> class Appointment
>>   belongs_to :customerend
>>
>> *Example that works in Rails 5.2*
>>
>> a = Appointment.new customer_id: @customer.id
>> a.association(:customer).reader # returns @customer
>>
>> *Example that doesn't work in Rails 6.0*
>>
>> a = Appointment.new customer_id: @customer.id
>> a.association(:customer).reader # returns nil
>>
>> *Example that works in both Rails 5.2 and 6.0* (note the association is
>> set without the id)
>>
>> a = Appointment.new customer: @customer
>> a.association(:customer).reader # returns @customer
>>
>> So is the example that doesn't work in Rails 6.0 a bug?  The example I
>> provided isn't something you'll see in a Rails app, but Rails internals
>> uses the association cache and if this is a bug, then fixing this would fix
>> other potential issues.  Again, I found this issue due to a regression in
>> my code with autosaved associations that I was setting via a foreign key
>> parameter (ie. customer_id).
>>
>> Andrew
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Ruby on Rails: Core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to rubyonrails-core+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/rubyonrails-core/CAEUKiYHoddw6NySuH5sZ3GdOt-G4L3SsTfKUfcQioJHOnnrQ6Q%40mail.gmail.com
>> <https://groups.google.com/d/msgid/rubyonrails-core/CAEUKiYHoddw6NySuH5sZ3GdOt-G4L3SsTfKUfcQioJHOnnrQ6Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-core+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-core/CAEJZ43hyY46Cn4Ur4-UtiO9C_d6KWgih-YDPcCF7k5UKe_N-9w%40mail.gmail.com
> <https://groups.google.com/d/msgid/rubyonrails-core/CAEJZ43hyY46Cn4Ur4-UtiO9C_d6KWgih-YDPcCF7k5UKe_N-9w%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-core/CAEUKiYH5jDbxCUZYJNRJ3uE%3D6Kto5wMCCAq13LTHShXk%2BiFGhg%40mail.gmail.com.

Reply via email to