2014-10-28 22 views
0

我在使用Rails控制器緩存JSON動作時遇到問題。會發生的是,從Android應用程序向端點發送請求,指定標頭中的MIME類型"application/json",但響應爲"text/html"在緩存中使用caches_action的JSON動作

這是我唯一使用caches_action的操作,我使用的是caches_action,所以我的過濾器不會被跳過(如pages_action)。

我使用:

caches_action :cards, expires_in: 1.day, 
       cache_path: "mobile/cards/card_id_#{params[:card_id]}" 

它的工作原理,如果我追加.json請求的url,但我不想這樣做,因爲在這種應用中的所有其他JSON端點不要求。

爲什麼Rails將響應強制爲"text/html"

我可能會做錯什麼?

回答

0

我解決了這一問題剛加入format: :json的路線,如告訴由official documentation

的:format參數是考慮到雖然。通過MIME類型緩存的最安全的方式是傳遞路由中的格式。

+0

嘿@rodrigoalves,你能說得更具描述性嗎?也許提供一個例子? – 2015-05-18 02:02:31

+0

嗨,一個例子是'resources:posts,format :: json'。 – rodrigoalves 2015-05-18 03:35:40