我有一個老笨服務做出請求,我的應用程序失敗時的內容類型包括字符集線從Rails的內容類型刪除字符集
Content-Type text/html; charset=utf-8
,我不知道如何把它從刪除我的導軌響應。每次我重寫頭迫使僅僅是第一部分時間(內容類型爲text/html)Rails添加字符集的頭......
我有一個老笨服務做出請求,我的應用程序失敗時的內容類型包括字符集線從Rails的內容類型刪除字符集
Content-Type text/html; charset=utf-8
,我不知道如何把它從刪除我的導軌響應。每次我重寫頭迫使僅僅是第一部分時間(內容類型爲text/html)Rails添加字符集的頭......
對於Rails 3/4,處理此問題的代碼位於ActionDispatch::Response.assign_default_content_type_and_charset!
的actionpack/lib/action_dispatch/http/response.rb中。
設置response.headers['Content-Type']
而不是response.content_type
應該消除字符集。 Chubas的解決方案爲所有響應都做到了這一點。
對於軌道2,它處理這是content_type=
和actionpack/lib/action_controller/response.rbcharset=
的代碼。
正如Carson的解決方案所述,設置ActionController::Base.default_charset = nil
應該消除字符集。
這爲我工作:
class MyController
after_filter :remove_charset
def remove_charset
headers['Content-type'] = "text/html"
end
end
如果你致力於開發,確保您清除瀏覽器的緩存。
有this method,但沒有爲我工作。我不知道爲什麼,它甚至可能是一個錯誤。
我能得到它的工作的唯一辦法是通過設置默認字符集
ActionController::Base.default_charset = nil
此外,Content-Transfer-Encoding
頭設置爲binary
將關閉字符集。
控制器把這個爲我做:
ActionDispatch::Response::default_charset = nil
我把我的基地控制器從所有響應中刪除。
我有完全相同的問題,Chuba的解決方案似乎不適合我。你找到了這個答案嗎? – Nick 2011-08-04 02:48:02