加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:18:25 所属栏目:百科 来源:网络整理
导读:在启用动作缓存时,我遇到了 JSON到json请求的响应问题. 我有一个非常简单的控制器来响应JSON和HTML以及缓存对HTML响应都很好,但是我注意到当我请求JSON时,通常会使用JSON进行响应,但是启用了动作缓存,它将布局中的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,那么它不在乎,并且尝试使用布局进行呈现.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读