Вы можете сделать что-то подобное в своем файле ApplicationController
для перенаправления через AJAX:
# allows redirecting for AJAX calls as well as normal calls
def redirect_to(options = {}, response_status = {})
if request.xhr?
render(:update) {|page| page.redirect_to(options)}
else
super(options, response_status)
end
end
По сути, если запрос сделан через AJAX и действие контроллера (или before_filter) говорит о перенаправлении на страницу входа, это перенаправит страницу для этого вызова AJAX.
Если вы сохраните данные запроса в файле cookie, вы сможете выполнить запрос после правильной аутентификации пользователя.