我很长一段时间都看到这些错误,但没有发现问题:
ActionView::MissingTemplate: Missing template pages/home, application/home with {:locale=>[:en], :formats=>["*/*;"]}
用户代理总是MSIE6(这是我之前放弃的部分原因)。
要重现:curl -H "Accept: */*;" -I http://localhost:5000
任何人都知道如何解决?
修改
curl -H "Accept: */*" -I http://localhost:5000
有效。仅当格式设置为*/*;
时才会起作用(注意分号)。
更新
我尝试按照评论中的建议修改Mime:ALL
,但无法同时接受*/*
和*/*;
。我看到的一个解决方案是修补如果没有或存在格式错误的mime类型时如何处理请求,但我不确定如何。 This answer提供了线索,但我仍然没有。
更新
我仍然看到这些错误等等。一个新的是:formats=>["hc/url;*/*"]
(Firefox)。我很惊讶这不会打击其他任何人,我认为我的代码中没有任何特定内容会导致不常见的错误。
答案 0 :(得分:0)
gregkare 刚刚在github上发布了修补程序。
DEFAULT_RESPONSE_FORMAT = :html
before_filter :set_default_response_format
def set_default_response_format
request.format = DEFAULT_RESPONSE_FORMAT if request.format.to_sym.nil?
end
不完全确定副作用,但现在看起来效果很好。