On Sep 17, 8:09 pm, badnaam <[email protected]> wrote: > > The it does work, BUT..somehow the page url is prepended to the cache > key so essentially this fragment which is same across the app, misses > for every new page load.
cache fragments are keyed like that by default - you can override that by passing :controller/:action parameters to make up a path (this doesn't need to be a real path in your application - it's just how it builds the identifier for the cache entry Fred > > [DEBUG 17-09-2010 12:06:37] Cached fragment hit: views/localhost/ > categories/autos-motorcyles/vote_topics?key=all_category (0.4ms) > [DEBUG 17-09-2010 12:06:37] Category Load (0.2ms) SELECT * FROM > `categories` ORDER BY name ASC > [DEBUG 17-09-2010 12:06:37] Cached fragment miss: views/localhost/ > categories/autos-motorcyles/vote_topics?key=all_category (0.4ms) > [DEBUG 17-09-2010 12:06:37] Rendered shared/_cat_nav_list (8.9ms) > [DEBUG 17-09-2010 12:06:37] Cached fragment hit: views/localhost/ > categories/autos-motorcyles/vote_topics?key=all_cities (0.3ms) > [DEBUG 17-09-2010 12:06:37] User Load (0.1ms) SELECT distinct city > FROM `users` > [DEBUG 17-09-2010 12:06:37] Cached fragment miss: views/localhost/ > categories/autos-motorcyles/vote_topics?key=all_cities (0.4ms) > [DEBUG 17-09-2010 12:06:37] Rendered shared/_city_nav_list (4.7ms) > > Can someone please help! > > On Sep 16, 4:07 pm, Frederick Cheung <[email protected]> > wrote: > > > > > On Sep 16, 6:32 pm, badnaam <[email protected]> wrote: > > > > I am using memcached.. and have the folllowing in my partial. > > > > <%CACHE.fetch 'all_categories' do %> > > > <ul> > > > Category.all.each do |c| > > > <li><%= c.name %> </li> > > > end > > > </ul> > > > <%end %> > > > > When I check in the irb console the "all_categories" key does get > > > populated. > > > So..CACHE.fetch 'all_categories' in irb does output the expected html > > > list. > > > > But nothing gets outputted in my view. > > > > I am guessing this is some sort of syntax error, what am I doing wrong? > > > In the case where the data is already in the cache the block is not > > yielded to, so nothing will be output. You could try changing it to a < > > %= but I'm not sure that mixes well with yielding to a block or the > > case when it is generated fresh data. Why not use cache_fragment ? > > > Fred -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

