#ruby-on-rails #ubuntu
#ruby-on-rails #ubuntu
Вопрос:
Я разрабатываю приложение Rails 3 на Ubuntu 11.04, и при попытке выполнить запрос ajax post я получаю следующее диалоговое окно браузера.
Для локального хоста сервера: 3000 в приложении требуются имя пользователя и пароль
Все остальные страницы загружаются нормально. Это происходит просто при выполнении вызова ajax. Я использую Mongrel для сервера разработки rails.
Есть идеи о том, как решить эту проблему, чтобы диалоговое окно не отображалось?
Комментарии:
1. Есть ли у вас система аутентификации на месте? Есть ли что-нибудь в application.rb, из-за чего ваше приложение может действовать подобным образом? Возможно, это обратный вызов ajax, который запускается из application.js или какой-то файл js.erb ?
2. Да, я использую Devise, но пользователь уже прошел аутентификацию.
Ответ №1:
У меня была такая же проблема при использовании Devise gem для перенаправления пользователя, не прошедшего проверку подлинности, на действие входа в систему.
Об этой проблеме сообщалось только от некоторых пользователей Internet Explorer. Я полагаю, что IE пытается автоматически обработать аутентификацию, показывая диалоговое окно.
Решение состояло в том, чтобы попросить пользователей получить доступ к URL-адресу входа вместо URL-адреса приложения.
Например, вместо доступа к URL http://www.myapp.com /, попросите пользователя получить доступ к URL http://www.myapp.com/login .
Дайте мне знать, если это помогло!
Комментарии:
1. К сожалению, это не мой случай, поскольку пользователь уже вошел в систему.
Ответ №2:
Оказывается, проблема была вызвана исправлением безопасности, введенным в rails 3.0.4. (Больше информации здесь)
Все, что мне нужно было сделать, это обновить пакет jquery-rails, а затем запустить rails generate jquery:install