ruby-on-rails - current - devise reset password
Diseñar autenticación: no hay confirmación después de la recuperación de contraseña (1)
Mire el código fuente para el PasswordsController de devise: https://github.com/plataformatec/devise/blob/master/app/controllers/devise/passwords_controller.rb#L42
Tendrá que crear un PasswordsController en su aplicación que hereda de Devise :: PasswordsController, implementar solo el método after_sending_reset_password_instructions_path_for (resource_name) y al configurar las rutas diga idear para usar su controlador
class PasswordsController < Devise::PasswordsController
protected
def after_sending_reset_password_instructions_path_for(resource_name)
#return your path
end
end
en rutas
devise_for :users, :controllers => { :passwords => "passwords" }
Estoy usando la gema de autenticación Devise con Rails.
Cómo mostrar el mensaje de devise.en.yml:
send_instructions: ''You will receive an email with instructions about how to reset your password in a few minutes''
después de que se envió el correo electrónico de recuperación de contraseña, en lugar de ser redirigido a la raíz del sitio?
Actualizar:
He encontrado un fragmento de código interesante en devise_controller.rb:
def successfully_sent?(resource)
notice = if Devise.paranoid
resource.errors.clear
:send_paranoid_instructions
elsif resource.errors.empty?
:send_instructions
end
if notice
set_flash_message :notice, notice if is_navigational_format?
true
end
end
El establecimiento de puntos de interrupción muestra que se están llamando a las líneas correctas, se envía aviso a send_instructions, se llama a set_flash_message, pero no puedo ver el resultado de todo esto porque me redirigen inmediatamente a la ruta raíz.