Ruby on rails RAILS:InternetExplorer8未呈现操作,请下载弹出窗口

Ruby on rails RAILS:InternetExplorer8未呈现操作,请下载弹出窗口,ruby-on-rails,Ruby On Rails,我有一个控制器,所有的动作都不是IE8渲染的,在Firefox和Chromer中都可以。问题是只有这个控制器,我有另一个工作正常 代码是: class CustomersController < ApplicationController auto_complete_for :customers, :name def search unless params[:q].nil? @customers = Customer.find(:all, :conditions =&

我有一个控制器,所有的动作都不是IE8渲染的,在Firefox和Chromer中都可以。问题是只有这个控制器,我有另一个工作正常

代码是:

class CustomersController < ApplicationController
 auto_complete_for :customers, :name

 def search
   unless params[:q].nil?
    @customers = Customer.find(:all, :conditions => ['name LIKE ?',
        "%#{params[:q]}%"])
   end

   respond_to do |format|
     format.xml { render :xml => @customers}
     format.json { render :json => @customers}
   end

end

def index  
  @customers = Customer.find_index
end

def show
  @customer = Customer.find(params[:id])
end
知道发生了什么吗

更新
对于所有感兴趣的人来说,问题在于模板文件名。 所有名为“invoice.erb”的文件都以内容“text/erb”的形式发送回浏览器,而名为“customers.html.erb”的文件则以“text/html”的形式发送回浏览器。
一旦我将所有文件重命名为“html.erb”,一切正常

ie8不知道如何处理xml或json,但知道如何处理html。如果确实希望浏览器显示xml,可以将
:content\u type=>“text/plain”
添加到块中,以便它知道如何响应它

ie8不知道如何处理xml或json,但知道如何处理html。如果确实希望浏览器显示xml,可以将
:content\u type=>“text/plain”
添加到块中,以便它知道如何响应它

只是好奇,你为什么要在浏览器中点击这个端点?仅返回xml和json的端点通常由AJAX调用。如果你只是想测试它们以确保它们正常工作,那么你应该为此编写测试。@Samo:你是说搜索方法吗?如果是这样的话,我只在ajax方法中使用它,并像你说的那样通过浏览器进行一些测试。哦,很抱歉我误解了,你是说除非你显式地呈现html,否则在IE8中没有任何操作能够正确呈现。我错了。只是好奇,你为什么要在浏览器中点击这个端点?仅返回xml和json的端点通常由AJAX调用。如果你只是想测试它们以确保它们正常工作,那么你应该为此编写测试。@Samo:你是说搜索方法吗?如果是这样的话,我只在ajax方法中使用它,并像你说的那样通过浏览器进行一些测试。哦,很抱歉我误解了,你是说除非你显式地呈现html,否则在IE8中没有任何操作能够正确呈现。我的错误。你的意思是,即使我不是从ie8调用它,搜索方法也是问题的原因吗?如果你想让搜索方法在浏览器中呈现,你需要给它一个浏览器知道如何处理的内容类型,或者给它一个html块,这样它就可以呈现一些东西。IE弹出“保存”对话框是因为它不知道如何处理application/xml您的意思是说这是搜索方法导致问题的原因吗,即使我不是从ie8调用它?如果你想在浏览器中呈现搜索方法,你需要给它一个浏览器知道如何处理的内容类型,或者给它一个html块,这样它就可以呈现一些东西。IE正在弹出“保存”对话框,因为它不知道如何处理application/xml
def index
  @customers = Customer.find_index // a find all but ordered.
  respond_to do |format|
    format.html
  end
end