我有一个Ruby on Rails网站。
class DefinitionsController < ApplicationController
caches_page :index
def index
responds_to do |format|
format.json { render json: @something}
end
end
end
当我点击myapp.host.com/definitions.json
时,我得到了我的json数据。
但是当我调用一个使用expire_page :action => :index
的函数时,我不会获得该数据的新更新,它会继续从public
目录提供旧的json文件。该网站的另一个网址也已过期,但是是一个正常的网页,确实是新鲜的。
我使用Rails 3,使用Nginx和Passenger进行托管。当我使用rails server
运行它时它确实可以正常工作,所以它必须是Nginx或Passenger的东西。
我需要做些什么特别的事情,例如在format => :json
电话上拨打expire
吗?
答案 0 :(得分:1)
我认为问题在于您没有告诉expire_page
缓存内容的格式,因此它假定为html。找不到缓存的html内容,它什么都不做。
尝试expire_page :action => :index, :format => 'json'
。