0
我想缓存一个操作,我希望它根据请求参数('type')的不同而不同。Rails 3中的缓存操作
我该怎么做?我希望不仅缓存渲染,还要计算和DB请求(大部分操作本身)
一种可能的解决方案是将不同的结果保存到文件中,并且一旦创建后重定向到每种类型的代理动作并呈现它们,但它过于复杂的解决方案,也许Rails有一个更好的内置解决方案。
可能吗?
谢谢
我想缓存一个操作,我希望它根据请求参数('type')的不同而不同。Rails 3中的缓存操作
我该怎么做?我希望不仅缓存渲染,还要计算和DB请求(大部分操作本身)
一种可能的解决方案是将不同的结果保存到文件中,并且一旦创建后重定向到每种类型的代理动作并呈现它们,但它过于复杂的解决方案,也许Rails有一个更好的内置解决方案。
可能吗?
谢谢
可以使用before filter
检查参数类型,并采取必要的行动继续进行。
before_filter :check_params, :only => :some_action
caches_action :some_action
def check_params
if params["type"] == 'something'
query_method1
else
query_method2
end
end
这是一个进展,但随后的行动:some_action将获得缓存使用任意查询方法,而不是每种类型 – kambi 2013-04-10 07:12:56