I was starting to implement caching with memcached in one of our
that still uses Rails 2.3 (yes, still).
As Rails only caches Active Record objects for one request, I thought of
caching them on memcached. For that, I’ve defined a method that
the find method of Active Record and checks if the object is in the
before hitting the actual find of Active Record.
Although, I’m getting an error of “Can’t modify a frozen hash” after
retrieving an object from the cache and trying to update it. I’ve done
research and found that objects are frozen by AR before they get saved.
I found the following hack on google that solves the problem:
if Rails.version <= “2.3.8”
obj = super
I have two questions about it:
Is it a good solution to use dup like that?
Is it a bad/good practice to cache Active Record objects?
Thanks in advance,
Tales Marchesan Chaves
Software Designer @Hewlett-Packard Brazil