当前位置: 首页 > 知识库问答 >
问题:

Rails3应用程序在传递“accept:none”HTTP头时抛出错误

萧辰沛
2023-03-14

当某些浏览器请求我们的网站但指定accept:noneHTTP头时,我们已经看到了Airbrake异常(看起来大多数是移动的)。经过一系列研究,似乎大多数面向消费者的应用程序都忽略了接受HTTP头和发送HTML,我们之前通过将其添加到mime_types.rb文件中来修复这一问题

Mime::Type.register "none", :html

但后来我们的电子邮件开始以纯文本发送,我相信这是因为我们正在重新定义text/html的工作方式。是否有更好的修复方法,使我们在有人发送accept:none头时仍然发送HTML?

编辑:我忘了说,这是我运行Rails C时得到的,我想知道我是不是在重新定义HTML。

$ rails c
/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.12/lib/action_dispatch/http/mime_type.rb:102: warning: already initialized constant HTML

共有1个答案

邓赤岩
2023-03-14

另一个修复方法是将以下before_filter添加到applicationcontroller

def fix_accept_headers_for_none
  if request.formats.include?("none")
    request.format = :html
  end
end
 类似资料: