Использование собственного контроллера регистрации с Devise - PullRequest
3 голосов
/ 21 февраля 2011

Я использую devise для аутентификации. Я хотел использовать свой собственный контроллер регистрации вместо того, который разработчик использует внутри. Итак, поднялся и следовал инструкциям, приведенным здесь, https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-account-without-providing-a-password

Скопируйте файл registrations_controller.rb из Devise (не забудьте скопировать контроллер из той же версии устройства, что и у вашего устройства devise)
Поместите это в каталог / app / controllers.
В файле config / rout.rb добавьте: controllers => {: registrations => "registrations"} в корневой каталог devise_for.
Убедитесь, что вы назвали файл registrations_controller.rb
Измените первую строку: класс Devise :: RegistrationsController

Я использую devise version 1.1 и скопировал файл registrations_controller.rb отсюда. https://github.com/plataformatec/devise/blob/v1.1/app/controllers/devise/registrations_controller.rb

Теперь, когда я нажимаю новое действие контроллера регистрации, Я получаю ошибку ниже

NoMethodError (undefined method `new_with_session' for User:Class):
app/controllers/registrations_controller.rb:71:in `build_resource'
app/controllers/registrations_controller.rb:8:in `new'

Мой registrations_controller.rb выглядит точно так же, как тот, откуда я скопировал. В чем может быть проблема? Спасибо.

1 Ответ

1 голос
/ 21 февраля 2011

Вы видите ту же самую проблему у человека здесь:

http://groups.google.com/group/plataformatec-devise/browse_thread/thread/9733963d63a8a77a

Используйте тот из тега 1.1.2, и он должен работать.Предполагается, что он работает со встроенным контроллером Devise, и в модель загружен «регистрируемый» модуль.

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