Rails请求带有`:* / *`的HTTP_ACCEPT标头

时间:2013-07-15 14:57:28

标签: ruby-on-rails

我的rails应用程序由于ActionView::MissingTemplate - 异常引发异常。这是因为请求的http标头ACCEPT的值为: */*。该应用无法找到此格式的模板(这是我期望发生的)。用户代理设置为Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36

我很好奇(并且有点担心)这意味着什么。这是rails的问题,我的应用程序的问题,还是攻击媒介?我已经看到类似问题的答案(例如Ruby on Rails and strange HTTP_ACCEPT header from PSP),这些问题建议拯救这些异常,并以设置为HTML的格式回答。但是,在使用此方法之前,我想现在: */* ACCEPT是{{1}}的可接受值,以及哪个浏览器会设置它。

我在Rails 3.2.13。

2 个答案:

答案 0 :(得分:4)

这是Rails的MIME类型解析器中一个已知且古老的错误 - 有关详细信息,请参阅this bug report。存在变通方法,但修复会更好!

答案 1 :(得分:0)

您可能在respond_to块中输入了错误的订单,尝试首先添加带有模板的订单。例如,如果您希望html为默认值:

respond_to do |format|
  format.html
  format.js
end