У меня есть проект 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 и возвращается на страницу входа после регистрации.
Пошел на охоту в Интернете, включая другие потоки переполнения стека, но ничего из того, что я нашел, не помогло мне ... либо ответы путают перенаправление регистрации для входа в систему, либо то, что они на самом деле делают, меняет перенаправление после входа в систему (как обычно автоматически входит в систему после регистрации без включения подтверждения).
Другие вещи, которые я пробовал ...
Перемещение after_sign_up_path_for (ресурс) в контроллер приложения. Не работает. Как ни странно, то же самое с after_sign_in_path_for (ресурс) и вход в систему как пользователь ДЕЙСТВИТЕЛЬНО перенаправляет.
Перемещение registrations_controller.rb из / app / controllers / в папку / app / controllers / users и соответствующее обновление всех маршрутов / ссылок / и т.д. Нет.
Копирование файла registrations_controller.rb из Devise в мой собственный файл registrations_controller.rb. Не сработало, просто выдала ошибку, и я все откатил.
Я попробовал def after_inactive_sign_up_path_for (resource), так как я подумал, что, возможно, причина в том, что учетная запись еще не активна. Это также игнорируется.
Также стоит упомянуть, что я попытался перезапустить свой проект после этих серьезных изменений, но ничего не вышло.
Кому-нибудь удалось выполнить это с включенным подтверждением?