【发布时间】:2013-02-25 09:25:41
【问题描述】:
我正在尝试在我的 Rails 应用程序中实现缓存。我的控制器中的视图会根据传入的参数生成一个非常大的项目列表。这个大列表不会经常更改,所以我想根据路由缓存它。
示例:
config/routes.rb:
get "policies/available/:country" => 'policy#available', :format => :json
policy_controller.rb:
class PolicyController < ApplicationController
def available
country = params[:country]
@policies = VideoPolicy.available_in_country country
respond_to do |format|
format.html
format.json{
render :json => @policies.to_json
}
end
end
end
调用“polices/available/US”会缓存该路由的 JSON 结果,然后调用“polices/available/CA”会缓存第二个路由的 second JSON 结果。 (也就是每个路由缓存一个结果,但用于相同的视图/控制器。)
我将如何做到这一点?某种形式的page/action/fragment caching?
【问题讨论】:
标签: ruby-on-rails caching