Hi folks,
Basically, I think I'm running into the problem described by otto on
the merbunity post: http://merbunity.com/tutorials/15
"What about eager caching in a typical blog situation? You want to
eager cache Post#index, and dirty for Post#create, or possible
Post#update. But in most situations, the update and create actions are
in an Admin controller. How do you tell a controller that it needs to
dirty whenever a different controller action is called?"
How can you use eager_caching when your create/update actions are in a
controller separate from your show & index actions. In particular,
also dealing with clearing out related caches (sitemap & rss feeds -
also _not_ in the controller with create/update).
I'm just going to focus on the feed action, since it will be hit most
often:
So, in the public facing: app/controllers/posts.rb I have this at the
top:
cache :feed
And the caching works fine.
Now, in app/controllers/admin/posts.rb I have tried just about
everything to get it to eager_cache - to refresh the cache set in the
other controller. Here are some variations of what I've tried:
1) at the top of the controller:
eager_cache(:update, [Post :feed]) {{ :uri => build_url(:feed_posts)}}
eager_cache :update, [Post, :feed], :uri => url(:feed_posts)
eager_cache :update, [Post, :feed], :uri => '/posts/feed.rss'
2) in the update action:
eager_cache([Post :feed]) {{ :uri => build_url(:feed_posts)}}
eager_cache [Post, :feed], :uri => url(:feed_posts)
eager_cache [Post, :feed], :uri => '/posts/feed.rss'
And none of the above update the cache.
If it helps, here's what's in my init.rb:
Merb::Cache.setup do
unless defined? CACHE_SETUP
register(:action_store, Merb::Cache::ActionStore
[Merb::Cache::FileStore], :dir => Merb.root / "public" / "cache")
register(:default, Merb::Cache::AdhocStore[:action_store])
end
CACHE_SETUP = true
end
Thanks in advance for help on this. the caching is the last stumbling
block on my upgrade from a 0.9.6 app to a 1.0.7.1 app (oh, how the
caching was easier then :))
Bill
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"merb" 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/merb?hl=en
-~----------~----~----~----~------~----~------~--~---