RAILS: Internet Explorer 8 не рендерит действия, вместо этого загрузите всплывающее окно - PullRequest
1 голос
/ 16 декабря 2010

У меня есть контроллер, и все действия не выполняются 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

Например, действие index не получает рендер, и вместо этого IE8 отображает диалог загрузки, но если я отредактирую действие index следующим образом:

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", все работает нормально

1 Ответ

1 голос
/ 16 декабря 2010

ie8 не знает, что делать с XML или JSON, но знает, что делать с HTML.Если вы действительно хотите, чтобы браузер отображал xml, вы можете добавить :content_type => 'text/plain' в блок, чтобы он знал, как на него реагировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...