gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:39:35 26 4
gpt4 key购买 nike

在启用操作缓存时,我在响应 JSON 到 json 请求时遇到问题。

我有一个相当简单的 Controller ,它响应 JSON 和 HTML,并且缓存对于 HTML 响应效果很好,但我注意到当我请求 JSON 时,通常会使用 JSON 进行响应,但启用了操作缓存后,它会包装 JSON 输出在布局中!

当我清除缓存时,它给我一个错误,提示不存在默认布局:

ArgumentError in ClipsController#index

There was no default layout for ClipsController in...

如何返回缓存操作的 JSON?

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

caches_action :index, :layout => false

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

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

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

最佳答案

看起来这实际上可能是操作缓存的一个错误,但也许有些东西我不理解。

参见this line看看哪里出了问题。基本上,如果您将布局选项设置为 false,它不会关心,并尝试使用布局来渲染它。

关于ruby-on-rails - Rails 操作缓存和 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com