2011-08-10 13 views
17

En la aplicación my rails 3 using idee, deseo proporcionar un enlace para que los usuarios editen su contraseña.Mostrando la pantalla para editar la contraseña

que tienen un enlace que apunta al estándar:/usuarios/contraseña/editar ... registro de salida por debajo de

Started GET "https://stackoverflow.com/users/password/edit" for 127.0.0.1 at 2011-08-10 10:11:46 -0700 
    Processing by Devise::PasswordsController#edit as HTML 
    User Load (0.6ms) SELECT "users".* FROM "users" WHERE "users"."id" = 3 LIMIT 1 
Redirected to http://localhost:3000/ 
Completed 302 Found in 309ms 

Por qué se rieles redirigiendo? ¿Por qué no puedo mostrar la página de editar contraseña? Gracias

+1

muestra su 'routes.rb' y' PasswordController' – fl00r

+0

¿Cuál es el motivo de la redirección en el mensaje flash? ¿El usuario no ha iniciado sesión, porque sí, le redirigirá a la raíz si no ha iniciado sesión y está tratando de editar una contraseña. – numbers1311407

+0

@ numbers1311407 En realidad, el problema es que el usuario ** está ** conectado. Esta acción es solo para usuarios que ** no ** iniciaron sesión, han olvidado su contraseña y ya han recibido un token de contraseña de restablecimiento. –

Respuesta

27

Devise::PasswordsController#edit es para usuarios no autenticados que desean cambiar su contraseña utilizando un token de restablecimiento. Este token de reinicio se envió previamente al usuario en un correo electrónico (Restablecer las instrucciones de la contraseña). Si el usuario ya inició sesión, esta página de edición de contraseña siempre redireccionará a la ruta posterior al inicio de sesión, ya que no debería ser accesible para los usuarios autenticados.

Supongo que lo que quiere es permitirle al usuario cambiar su contraseña después de iniciar sesión. Debe usar Devise::RegistrationsController#edit para eso.

+2

¿Qué sucede si estoy usando la acción de edición en el controlador de registro para otra información de perfil de usuario? Quiero separar la edición de la información del perfil de usuario (nombre, dirección, etc.) y la actualización de la contraseña – Batman

+0

@Batman https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit- su-contraseña –

Cuestiones relacionadas