Я пытаюсь направить пользователя на настраиваемую страницу приветствия после того, как он подтвердит свою учетную запись с помощью устройства devise.Пользовательская страница находится в / districts / setup /, доступная по districts_setup_path.
Для этого я добавил пользовательский маршрут,
devise_for :users, :controllers => { :registrations => 'registrations', :confirmations => 'confirmations' }
и создал свой собственный контроллер.Тогда мне пришлось перегрузить файлфирмо подтверждения.sb и теперь у меня есть:
(app / controllers / translations_controller.rb)
class ConfirmationsController | Devise::ConfirmationsController
# GET /resource/confirmation?confirmation_token=abcdef
def show
self.resource = resource_class.confirm_by_token(params[:confirmation_token])
if resource.errors.empty?
set_flash_message(:notice, :confirmed) if is_navigational_format?
sign_in(resource_name, resource)
redirect_to districts_setup_path
else
render_with_scope :new
# not:
# respond_with_navigational(resource.errors, :status => :unprocessable_entity){
end
end
end
Это работает хорошо, но я нервничаю, что не делаюэто в мрачной и надежной манере.В частности, я только что удалил строки response_with_navigational (...), которые я действительно не понимаю.
Я надеюсь написать все это в практических рекомендациях для вики Devise, и просто смотрюдля обратной связи, являющейся довольно новым для рельсов и еще более новым для Devise / Engineers / Warden.