Перенаправление на XML в Ruby on Rails - PullRequest
0 голосов
/ 08 октября 2010

Я новичок в Ruby on Rails, поэтому, возможно, я делаю что-то не так ...

В контроллере (Пользователи) у меня есть "before_filter", который вызывает метод "authenticate" вmy ApplicationController class.

Доступ к контроллеру Users можно получить через HTML или XML с помощью

respond_to do |format|
  format.html
  format.xml
end

Проблема в том, что когда фильтр не проходит, метод authenticate всегда показывает страницу HTML...

У меня есть оба файла authentication_failed.html.erb и authentication_failed.xml.erb.

В контроллере метод "authentication_failed" выглядит следующим образом:

def authentication_failed
  respond_to do |format|
    format
    format.xml
  end
end

Метод аутентификации (метод, который вызывается фильтром) имеет следующий код:

if !(authenticated) then
  redirect_to authentication_failed_path
end

Что можно сделать, чтобы аутентификация не смогла ответить с помощью XML вместо страницы HTML?

1 Ответ

0 голосов
/ 08 октября 2010

Лучше исправить формат в redirect_to

if !(authenticated) then
  redirect_to authentication_failed_path(:format => params[:format]
end

Теперь вы сохраняете тот же формат после перенаправления

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