Нет обратной связи с пользователем при неудачном входе в систему с Rails 3 + Devise + Jquery Mobile - PullRequest
4 голосов
/ 02 августа 2011

Как говорится в теме, я только что завершил интеграцию Devise-аутентификации в приложение Rails 3.1 с Jquery Mobile. Почти все здесь прямо из коробки, никакого пользовательского кода, поэтому я не могу добавить сюда много, чтобы добавить описание проблемы.

Когда пользователь завершает процесс регистрации из-за существующего ранее адреса электронной почты, недостаточно длинного пароля и т. Д., Пользователю отображается сообщение. Это не красиво, но, по крайней мере, работает.

Однако, когда пользователь имеет существующую учетную запись и вводит неправильный пароль во время входа, пользователь не получает обратной связи, и консоль выдает ошибку:

POST http://localhost:3000/users/sign_in 401 (Unauthorized)

У меня довольно сильное подозрение, что это происходит, потому что отправка формы Jquery не ожидает или не знает, как обработать ошибку 401, возвращаемую с сервера, но я не уверен, где решить проблему.

Если это имеет значение, я прокомментировал следующее в инициализаторе Devise:

config.http_authenticatable_on_xhr = true

Я также ожидаю, что большая часть моей проблемы здесь связана с моим непониманием того, как Flash-уведомления Rails интегрированы (или не интегрированы) в JqueryMobile. Надеюсь, что ответ здесь приведет меня намного дальше к выяснению.

1 Ответ

0 голосов
/ 07 ноября 2011

jQuery Mobile 'принимает' отправленные вами формы. Однако вы можете просто переопределить это поведение, добавив собственный слушатель отправки формы. Если вы сделаете это, вы сможете добавить любую пользовательскую логику, какую захотите.

...