Проблемы с маршрутами Devise - ошибка при просмотре страниц - PullRequest
0 голосов
/ 16 сентября 2011

До установки Devise у меня была существующая модель User, поэтому я следовал инструкциям здесь .

Я даже создал взгляды на устройство. Но когда я нахожусь на своем локальном хосте и набираю localhost: 3000 / users / sign_in или любой другой маршрут, доступный мне через devise, это не работает

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

resources :users

больше не доступны, если у меня нет обоих:

devise_for :users
resources :users

но я думал, что должен был удалить ресурсы: пользователи, когда в моем файле маршрутов была строка devise_for: users.

Что происходит? У кого-нибудь есть идеи?

EDIT

Проблема в том, что когда я захожу в users / password, он говорит, что нет пользователя с ID = password, но мне доступен этот маршрут.

У меня также есть проблемы с пользователями / sign_in и users / sign_out. По какой-то причине он перенаправляет обратно на мой корневой путь. Иногда это работает, иногда нет, и я не уверен, почему. Лог выглядит так:

Started GET "/users/sign_in" for 127.0.0.1 at 2011-09-16 19:05:43 -0400
Processing by Devise::SessionsController#new as HTML
User Load (0.3ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
Redirected to http://localhost:3000/

1 Ответ

0 голосов
/ 16 сентября 2011

Что именно здесь не работает?Вы получаете что-нибудь полезное в журналах или где-то еще?Кроме того, вы настроили свою модель: users для включения devise :recoverable, :authenticateable, ... и т. Д.?

Вам необходимо указать devise_for и resources, определенные в вашем config / rout.rb.devise_for устанавливает маршруты, которые пойдут к контроллерам устройства, но не обрабатывает ничего другого.Таким образом, вам все равно понадобятся обычные ресурсные маршруты для пользовательской модели для добавления, обновления, удаления и т. Д.

...