Vic*_*r S 11 memcached json ruby-on-rails
我在使用JSON请求响应时遇到问题,同时启用了操作缓存.
我有一个相当简单的控制器,它响应JSON和HTML,缓存适用于HTML响应,但我注意到当我请求JSON,并且通常会响应JSON,但启用了动作缓存,它将JSON输出包装在布局中!
当我清除缓存时,它给出了一个错误,没有默认布局:
ClipsController#index中的ArgumentError
在...中没有ClipsController的默认布局
如何为缓存操作返回JSON?
更新,我怀疑布局错误与我缓存操作的方式有关:
caches_action :index, :layout => false
我不确定,为什么在JSON响应的情况下仍然需要布局,因为没有缓存没有问题.
暂时我已经修改了缓存过滤器以不缓存JSON请求,但这不是一个理想的解决方法,如果我想缓存JSON,该怎么办?
caches_action :index, :layout => false, :if => Proc.new { |c| !c.request.format.json? }