2013-07-12 2 views
0

Rails 2.3.18respond_to не называет правильный формат

У меня есть Answer контроллер с функцией индекса, например так:

def index 
    respond_to do |format| 
    format.js { } 
    format.all { redirect_to ... } 
    end 
end 

У меня есть anwers/index.js.erb, связанный с этим индексом действия, для формата :js ,

Я просто ввожу URL /answers/ в своем браузере, чтобы вызвать функцию индекса, и результат удивителен: это index.js, отображаемый в виде текста.

Что-то не так с этим, но я не понимаю, что!

Я записываю тип mime в действие индекса, и это «text/html», соответствующий: html-формату. Почему вместо :all формат вызывается :js?

Привет

+0

Вы не можете использовать рубин 2.3.18. Вы имеете в виду Rails 2.3.18? Кроме того, какой URL-адрес вы вводите в браузер? Вы только что сказали «Я ввожу URL». Чем больше деталей вы можете предоставить, тем лучше. –

+0

@KyleDecot. Я редактировал свой пост. – pierallard

+1

Попробуйте использовать 'format.html' вместо format.all – Barbared

ответ

0

Попробуйте использовать format.html и format.js без прохождения блока, как показано ниже. Я никогда не видел format.all раньше.

def index 
    respond_to do |format| 
    format.js 
    format.html 
    end 
end 
+0

Документация в Apidock использует это: весь формат: http://apidock.com/rails/Mime http://apidock.com/rails/ActionController/MimeResponds/InstanceMethods/respond_to # 604-А-всеохватывающий формат – pierallard

0

Попробуйте

def index 
    respond_to do |format| 
    format.html{redirect_to ...} 
    format.js {} 
    end 
end 
Смежные вопросы