Ruby on rails 使用caches\u操作在Rails中缓存JSON操作
我在Rails控制器中缓存JSON操作时遇到问题。发生的情况是,从Android应用程序,我向端点发出请求,在头中指定mime类型Ruby on rails 使用caches\u操作在Rails中缓存JSON操作,ruby-on-rails,ruby,json,api,caching,Ruby On Rails,Ruby,Json,Api,Caching,我在Rails控制器中缓存JSON操作时遇到问题。发生的情况是,从Android应用程序,我向端点发出请求,在头中指定mime类型“application/json”,但响应为“text/html” 这是我唯一使用caches\u action的操作,我正在使用caches\u action,因此不会跳过我的过滤器(如页面\u action) 我正在使用: caches_action :cards, expires_in: 1.day, cache_path: "m
“application/json”
,但响应为“text/html”
这是我唯一使用caches\u action
的操作,我正在使用caches\u action
,因此不会跳过我的过滤器(如页面\u action
)
我正在使用:
caches_action :cards, expires_in: 1.day,
cache_path: "mobile/cards/card_id_#{params[:card_id]}"
如果我将.json
附加到请求url,它就可以工作,但我不想这样做,因为此应用程序中的所有其他json端点都不需要这样做
为什么Rails强制将响应作为“text/html”
我可能做错了什么?我只需将
格式::json
添加到路由中,就解决了这个问题,如下所示:
但是:format参数已被考虑在内。按MIME类型缓存的最安全方法是在路由中传递格式
嘿@rodrigoalves,你能更详细地描述一下吗?也许可以提供一个例子?嗨,一个例子是
resources:posts,format::json
。