我有一个基于ruby on rails 3.0.9的遗留网站,它适用于Firefox,Chrome和IE 8,但是我收到HTTP 406每当我使用Internet Explorer 9检查网站时发生错误。我将问题缩小至respond_to + format.js + render :update
三重奏,但直到现在我还没有设法解决问题。使用渲染时,导轨3.0和Internet Explorer 9.0的HTTP 406错误:更新
我创建一个小例子用于再现:
来自控制器的动作:
def change
if params[:kind]
respond_to do |format|
format.js do
render :update do |page|
# originally we have a much more complicated logic here
# ...
page.replace_html 'list_of_numbers', :partial => params[:kind]
# we even have this:
# page << "changePrefix();"
end
end
end
end
end
的视图:
<%= link_to("odd", url_for(:controller => "main", :action => "change", :kind => "odd"), :remote => true) %>
<%= link_to("even", url_for(:controller => "main", :action => "change", :kind => "even"), :remote => true) %>
<div id="list_of_numbers"><%= render :partial => "odd" %><div>
在服务器端我看到这一点:
开始GET“/ change?kind = odd”为10.0.8.9,在周三1月4日11时10分59秒 +0100 2012处理由MainController#变化HTML参数:{“种” =>“奇”}完成406无法接受在0毫秒
而IE 9表示完全一样。
任何想法为什么这不适用于IE9?