Estoy tratando de permitir al usuario restablecer sus contraseñas usando opción recuperable de inventar. Esto no parece estar funcionando para mí.- Recuperable (Restablecer contraseña)
Extiendo el Devise::PasswordsController
para que no utilice el diseño de la aplicación.
class PasswordsController < Devise::PasswordsController
layout false
end
En mis rutas, me aseguro de que se use mi controlador de contraseñas.
devise_for :users, :controllers => {:passwords => "passwords"}
resources :passwords
Aquí es mi modelo de usuario para que vea que tengo la opción :recoverable
.
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
En la página de inicio de sesión, He (estoy usando haml):
...
= link_to "Forgot your password?", new_password_path(resource_name)
Este enlace me lleva correctamente a http://localhost:3000/users/password/new
Aquí está el formulario que se encuentra allí:
%h2 Forgot your password?
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { :method => :post }) do |f|
= devise_error_messages!
%div
= f.label :email
%br/
= f.email_field :email
%div= f.submit "Send me reset password instructions"
Sin embargo, esto parece intentar llevarme al lugar equivocado cuando hago clic en el botón. Está fallando todo el tiempo y no muestra ningún correo electrónico en el registro del servidor.
Me está redirigiendo a: http://localhost:3000/passwords/user
y diciéndome:
enrutamiento de error
No route matches "/passwords/user"
Cualquier idea de cómo puedo proceder? Pensé que el uso de la opción recuperable era más fácil que esto. ¿Qué estoy haciendo mal?
ACTUALIZACIÓN Para el registro, me acaba de quitar todo lo que hacía, y trató de usar los controladores estándar Idear, y he modificado mi diseño de la aplicación para que no causaría un error, y todo está trabajando. Así que solo necesito una buena manera de eliminar el diseño de la aplicación de la página de restablecimiento de contraseña.
El problema persiste. No me permitirá acceder a la página de restablecimiento de contraseña sin él. Se quejará de que no hay una ruta para los usuarios/contraseña/nueva. Originalmente pensé que también, encontré esa información aquí: https: // github.com/plataformatec/devise/wiki/How-To: -llow-users-to-edit-their-password – ardavis
Creo que el problema principal es el hecho de que estoy tratando de extender Devise :: PasswordsController. Desearía no tener que hacer esto, lo único que quiero es que la página de restablecer contraseña no use el diseño de mi aplicación. – ardavis
Para el registro, simplemente eliminé todo lo que hice, y traté de usar los controladores de diseño estándar, y modifiqué el diseño de mi aplicación para que no causara un error, y todo está funcionando. Así que solo necesito una buena manera de eliminar el diseño de la aplicación de la página de restablecimiento de contraseña. – ardavis