我有一個控制器,並且所有的動作都不是由IE8渲染的,在Firefox和Chromer中都可以正常工作。問題是隻有這個控制器,我有另一個工作正常。RAILS:Internet Explorer 8不渲染動作,下載彈出窗口
的代碼是:
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
例如索引作用沒有得到渲染,而是IE8顯示一個下載對話框,但是如果我編輯索引操作是這樣的:
def index
@customers = Customer.find_index // a find all but ordered.
respond_to do |format|
format.html
end
end
任何想法發生了什麼?
UPDATE:
對於大家感興趣的問題是模板文件名。 所有名稱類似「invoice.erb」的文件作爲內容「text/erb」被髮送回瀏覽器,而像「customers.html.erb」這樣的文件被髮回爲「text/html」。 一旦我將所有文件重命名爲「html.erb」,一切正常
只是好奇,爲什麼你會在瀏覽器中點擊這個端點?通常由AJAX調用僅返回xml和json的端點。如果你只是試圖對它們進行測試以確保它們能夠正常工作,那麼你應該爲此編寫測試。 – Samo 2010-12-16 21:44:16
@Samo:你在談論搜索方法嗎?如果是這樣,即時通訊只用於Ajax方法和一些測試通過瀏覽器,如你所說。 – pbruna 2010-12-18 10:07:16
哦,對不起,我誤解了,你說沒有任何操作在IE8中正確呈現,除非你明確地呈現html。我的錯。 – Samo 2010-12-20 15:17:50