Ruby on Rails Sunday, September 30, 2018

Possibly related: Rails 5 has new (improved) behaviour for collection caching

<%= render partial: :post, collection: @posts, cached: true %>

will cache
although

<%= collection: @posts, cached: true %>

will not cache

more info on how it works and the benefits here:
https://blog.appsignal.com/2018/08/14/rails-collection-caching.html


On Monday, 24 September 2018 16:25:13 UTC+1, Steve wrote:
I've been developing with Rails for a few years now, but one part I haven't used is view fragment caching.

I'm using it now, and I'm seeing what I think is undesirable behavior, but I need someone with experience to tell me if it's supposed to be this way.

I'm caching a collection, and it runs the query to generate the cache key (count, max updated_at) as expected, but then regardless of whether there is a cache hit, it still runs the main query, and if there are includes, it runs those queries, too.  If the view fragment is being served from the cache, then those queries are just wasted time.  Has it always been like this?

I can work around it by using "<% cache @collection.cache_key do %>" instead of "<% cache @collection do %>", but it seems like it shouldn't run the query in the first place.

--
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/dcf902c2-9fd2-4841-a9db-51e9f6c01223%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment