ruby-on-rails - fields - ruby on rails devise tutorial
Cómo redirigir a un usuario después del registro cuando se utiliza Devise? (3)
Estoy usando Rails 2.3 y Devise para manejar el registro / autenticación del usuario.
Necesito redirigir a un usuario a un sitio web externo de un tercero inmediatamente después de que un usuario se registra para obtener una cuenta. He estado buscando en el código y en línea, pero no puedo ver cómo hacerlo.
¿Cómo puedo alterar el flujo de diseño para redirigir al usuario?
Si está utilizando las confirmaciones de Devise (lo que significa que el usuario no se activa inmediatamente después de registrarse), debe sobrescribir el método after_inactive_sign_up_path_for
.
# controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def after_inactive_sign_up_path_for(resource)
"http://somewhere.com"
end
end
Asegúrate de decirle a tu dispositivo que use tu RegistrationsController.
# config/routes.rb
devise_for :users, :controllers => {:registrations => ''registrations''}
La respuesta enumerada como la respuesta " correcta " se refiere específicamente a después del inicio de sesión ... Si desea redirigir a un usuario después de iniciar sesión, debe anular lo siguiente:
def after_sign_up_path_for(resource)
"http://www.google.com" # <- Path you want to redirect the user to after signup
end
Los detalles completos se pueden encontrar en la wiki .
Agregar a su controlador de aplicación
# Devise: Where to redirect users once they have logged in
def after_sign_up_path_for(resource)
"http://www.google.com" # <- Path you want to redirect the user to.
end
Aquí está la lista de ayudantes de Devise que puede usar http://rdoc.info/github/plataformatec/devise/master/Devise/Controllers/Helpers
Espero que eso ayude =)