ruby-on-rails – Rails动作缓存和json响应

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails动作缓存和json响应前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在启用动作缓存时,我遇到了 JSON到json请求的响应问题.

我有一个非常简单的控制器来响应JSON和HTML以及缓存对HTML响应都很好,但是我注意到当我请求JSON时,通常会使用JSON进行响应,但是启用了动作缓存,它将布局中的JSON输出

当我清除缓存时,它给我一个错误,没有默认的布局存在:

ArgumentError in ClipsController#index

There was no default layout for ClipsController in…

如何为缓存操作返回JSON?

更新,我怀疑布局的错误与缓存操作的方式有关:

caches_action:index,:layout =>假

我不确定,为什么在JSON响应的情况下仍然需要布局,因为没有缓存没有问题.

暂时我修改缓存过滤器不缓存JSON请求,但这不是一个理想的解决方法,如果我想缓存JSON,该怎么办?

caches_action:index,:layout => false,if => Proc.new {| c | !c.request.format.json? }

解决方法

像这样似乎可能是行动缓存的错误,但也许有一些我不了解的东西.

看到this line看看哪里出了问题.基本上,如果您将layout选项设置为false,那么它不在乎,并且尝试使用布局进行呈现.

猜你在找的Ruby相关文章