Ruby on rails 从Rails内容类型中删除字符集

Ruby on rails 从Rails内容类型中删除字符集,ruby-on-rails,Ruby On Rails,我有一个旧的愚蠢的服务请求我的应用程序失败时,内容类型包括字符集行 Content-Type text/html; charset=utf-8 我不知道如何从rails响应中删除它。每次我覆盖标题时,Rails只强制第一部分(内容类型text/html)将字符集添加到标题…这对我来说很有效: class MyController after_filter :remove_charset def remove_charset headers['Content-type'

我有一个旧的愚蠢的服务请求我的应用程序失败时,内容类型包括字符集行

Content-Type    text/html; charset=utf-8
我不知道如何从rails响应中删除它。每次我覆盖标题时,Rails只强制第一部分(内容类型text/html)将字符集添加到标题…

这对我来说很有效:

class MyController

  after_filter :remove_charset

  def remove_charset
    headers['Content-type'] = "text/html"
  end
end
如果您正在进行开发,请确保清除浏览器的缓存


有,但不是为我工作。我不知道为什么,它甚至可能是一个bug。

我能让它工作的唯一方法是设置默认字符集

ActionController::Base.default_charset = nil

另外,将
内容传输编码
标题设置为
二进制
将关闭字符集。

对于Rails 3/4,处理此问题的代码位于
ActionDispatch::Response.assign\u default\u Content\u type\u和\u charset输入

设置
response.headers['Content-Type']
而不是
response.Content\u-Type
应该消除字符集。Chubas的解决方案对所有响应都这样做


对于Rails 2,处理此问题的代码位于中的
content\u type=
charset=


正如Carson的解决方案所描述的,设置
ActionController::Base.default\u charset=nil
应该可以消除字符集。

将此设置放在控制器中为我做到了:

ActionDispatch::Response::default_charset = nil

我在我的基本控制器中加入了它,以便从所有响应中删除它。

我有完全相同的问题,Chuba的解决方案似乎对我不起作用。你找到答案了吗?老实说,这就是解决我问题的方法。我只是需要有一个端点来进行验证,稍后我会删除它,但其他解决方案都不适合我。谢谢