Forum: Ruby on Rails Can't configure cach_store in an initializer

F9d1a09df9178ff326f16913b7e90ad8?d=identicon&s=25 Jack Chu (Guest)
on 2011-04-27 22:22
(Received via mailing list)
I'm trying to use redis-store as my cache_store. I also have an
app_confirg.rb initalizer which loads a yaml file for config settings.
In my redis.rb initializer I have:

MyApp::Application.config.cache_store = :redis_store,
APP_CONFIG['redis']

However, this doesn't appear to work. If I do Rails.cache in my rails
console I can clearly see it's using the ActiveSupport.Cache.FileStore
as the cache store instead of redis. However, if I add the config in
my application.rb file it works just fine, except the app config
initializer is loaded after application.rb, so I don't have access to
it.

Has anyone experienced this? I can't seem to set a cache store in an
initializer.
F9d1a09df9178ff326f16913b7e90ad8?d=identicon&s=25 Jack Chu (Guest)
on 2011-04-28 01:12
(Received via mailing list)
I've also tried putting it in an after_initialize block and this
doesn't seem to work either.

config.after_initialize do
  config.cache_store = :redis_store, APP_CONFIG['redis']
end
Bdf1f2ad97e7b9c9db1fa70e3cef48bf?d=identicon&s=25 Bryan Crossland (Guest)
on 2011-04-28 21:55
(Received via mailing list)
On Wed, Apr 27, 2011 at 6:10 PM, Jack Chu <kamuigt@gmail.com> wrote:

> I've also tried putting it in an after_initialize block and this
> doesn't seem to work either.
>
> config.after_initialize do
>   config.cache_store = :redis_store, APP_CONFIG['redis']
> end
>
>
I think what you are looking for is described in the Cache-store section
of
the README document. It discusses how to configure it for multiple
versions
of Rails.

https://github.com/jodosha/redis-store

B.
F9d1a09df9178ff326f16913b7e90ad8?d=identicon&s=25 Jack Chu (Guest)
on 2011-04-29 08:29
(Received via mailing list)
Thanks, but I think I found the solution and wrote it up on
stackoverflow:
http://stackoverflow.com/questions/5810289/setting...

Problem is that Rails initializes the cache_store before it loads the
initlaizers in the initializers directory. I just found a way to load
it in application.rb instead.
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.