У меня есть проект Rails 3 с Devise, подтверждающий включен, поэтому пользователь должен подтвердить свою учетную запись по электронной почте после регистрации. В настоящее время проект возвращает пользователя на страницу входа и выдает уведомление «Вы успешно зарегистрировались ...». Вместо этого я хочу перенаправить их на страницу «Спасибо» с дальнейшими инструкциями (проверьте свою электронную почту, папку со спамом, бла-бла).
Моя первая остановка была вики Devise, где я нашел эту страницу . Выглядело достаточно легко, я сделал следующие изменения и точно следовал инструкциям ...
/ приложение / контроллеры / registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
"http://google.com"
end
end
/ конфигурации / routes.rb
devise_for :users, :controllers => { :registrations => "registrations" }
Единственной модификацией, которую мне пришлось сделать в направлении, было перемещение папки "registrations" из папки / app / views / devise view в папку top / app / views, поскольку возвращалась ошибка, что представления теперь отсутствует. В любом случае, несмотря на то, что переопределение контроллера кажется работающим (я не думаю, что представления изначально были бы нарушены), эти указания НЕ работают ... страница игнорирует after_sign_up и возвращается к странице входа после регистрации.
Пошёл на охоту в интернете, включая другие потоки переполнения стека, но ничего из того, что я нашел, не помогло мне: либо ответы запутывают переадресацию при регистрации для входа в систему, либо то, что они на самом деле делают, это изменение перенаправления после входа ( как обычно, Devise автоматически регистрируется после регистрации без подтверждения).
Другие вещи, которые я пробовал ...
Перемещение after_sign_up_path_for (ресурс) в контроллер приложения. Не работает Как ни странно, делать то же самое с after_sign_in_path_for (ресурс) и входить в систему как пользователь делает ДА перенаправление.
Перемещение registrations_controller.rb из / app / controllers / в папку / app / controllers / users и обновление всех маршрутов / ссылок / и т. Д. Соответственно. Не идти.
Копирование Devise registrations_controller.rb в мой собственный registrations_controller.rb. Не сработало, просто выкинул ошибку и откатил все обратно.
Я попробовал def after_inactive_sign_up_path_for (resource), поскольку я подумал, что, возможно, тот факт, что учетная запись еще не была активна, был виновником. Это также игнорируется.
Стоит также упомянуть, что я попытался перезапустить свой проект после этих серьезных изменений, но ничего не происходит.
У кого-нибудь был успех с его подтверждением с включенным подтверждением?