Rails 3 и Devise: перенаправление на страницу после регистрации (подтверждается)

У меня есть проект Rails 3 с Devise, подтверждаемый включен, поэтому пользователь должен подтвердить свою учетную запись по электронной почте после регистрации. В настоящее время проект возвращает пользователя на страницу входа и выдает уведомление «Вы успешно зарегистрировались ...». Вместо этого я хочу перенаправить их на страницу «Спасибо» с дальнейшими инструкциями (проверьте свою электронную почту, папку со спамом и т. Д.).

Моей первой остановкой была вики Devise, где я нашел это страница . Выглядело достаточно легко, я внес следующие изменения и в точности следовал указаниям ...

/app/controllers/registrations_controller.rb

class RegistrationsController < Devise::RegistrationsController
   protected
      def after_sign_up_path_for(resource)
        "http://google.com"
      end        
end

/config/routes.rb

devise_for :users, :controllers => { :registrations => "registrations" }

Единственное изменение, которое мне пришлось внести в направление перемещал папку «registrations» из папки / app / views / devise view в папку top / app / views, так как возвращалась ошибка о том, что представления теперь отсутствуют. В любом случае, несмотря на то, что переопределение контроллера работает (я не думаю, что в противном случае представления были бы изначально нарушены), эти указания НЕ работают ... страница игнорирует after_sign_up и возвращается на страницу входа после регистрации.

Пошел на охоту в Интернете, включая другие потоки переполнения стека, но ничего из того, что я нашел, не помогло мне ... либо ответы путают перенаправление регистрации для входа в систему, либо то, что они на самом деле делают, меняет перенаправление после входа в систему (как обычно автоматически входит в систему после регистрации без включения подтверждения).

Другие вещи, которые я пробовал ...

  1. Перемещение after_sign_up_path_for (ресурс) в контроллер приложения. Не работает. Как ни странно, то же самое с after_sign_in_path_for (ресурс) и вход в систему как пользователь ДЕЙСТВИТЕЛЬНО перенаправляет.

  2. Перемещение registrations_controller.rb из / app / controllers / в папку / app / controllers / users и соответствующее обновление всех маршрутов / ссылок / и т.д. Нет.

  3. Копирование файла registrations_controller.rb из Devise в мой собственный файл registrations_controller.rb. Не сработало, просто выдала ошибку, и я все откатил.

  4. Я попробовал def after_inactive_sign_up_path_for (resource), так как я подумал, что, возможно, причина в том, что учетная запись еще не активна. Это также игнорируется.

  5. Также стоит упомянуть, что я попытался перезапустить свой проект после этих серьезных изменений, но ничего не вышло.

Кому-нибудь удалось выполнить это с включенным подтверждением?

15
задан Luís Ramalho 5 April 2013 в 17:39
поделиться