我有一个旧的愚蠢服务请求我的应用程序在Content-Type包含charset行时失败
Content-Type text/html; charset=utf-8
我不知道如何从我的rails响应中删除它。每次我覆盖标题强制只是第一部分(Content-Type text / html)时,Rails会将标题添加到标题中......
答案 0 :(得分:3)
对于Rails 3/4,处理此问题的代码位于actionpack/lib/action_dispatch/http/response.rb中的ActionDispatch::Response.assign_default_content_type_and_charset!
。
设置response.headers['Content-Type']
而不是response.content_type
应该消除字符集。 Chubas的解决方案可以为所有回复做到这一点。
对于Rails 2,处理此问题的代码位于actionpack/lib/action_controller/response.rb中的content_type=
和charset=
。
正如Carson的解决方案所描述的那样,设置ActionController::Base.default_charset = nil
应该消除字符集。
答案 1 :(得分:2)
我能够让它工作的唯一方法是设置默认字符集
ActionController::Base.default_charset = nil
另外,将Content-Transfer-Encoding
标题设置为binary
会关闭字符集。
答案 2 :(得分:1)
这对我有用:
class MyController
after_filter :remove_charset
def remove_charset
headers['Content-type'] = "text/html"
end
end
如果您正在进行开发,请确保清除浏览器的缓存。
有this method,但对我不起作用。我不知道为什么,它甚至可能是一个错误。
答案 3 :(得分:0)
把它放在控制器里为我做了:
Private Sub Image1_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
Range("A1").Value = "test1"
End Sub
Private Sub Image1_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As MSForms.fmAction, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
Range("A1").Value = "test2"
End Sub
我放入我的基本控制器,将其从所有回复中删除。