【发布时间】:2025-12-24 06:35:10
【问题描述】:
我刚刚通过设计实现了密码重置功能,但是在按照我收到的每封电子邮件的链接并重置我的密码后,我收到以下错误:
没有路由匹配 [GET] "/users/password"(路由错误)
我会假设路由通过设计工作?
我在 routes.rb 中的代码如下所示:
devise_for :users, controllers: {
sessions: 'users/sessions',
passwords: 'users/passwords',
registrations: 'users/registrations'
}
我没有在 controllers > users > passwords_controller.rb 下更改任何内容,但如果看到它会有所帮助,它看起来像这样:
class Users::PasswordsController < Devise::PasswordsController
# GET /resource/password/new
# def new
# super
# end
# POST /resource/password
# def create
# super
# end
# GET /resource/password/edit?reset_password_token=abcdef
# def edit
# super
# end
# PUT /resource/password
# def update
# super
# end
# protected
# def after_resetting_password_path_for(resource)
# super(resource)
# end
# The path used after sending reset password instructions
# def after_sending_reset_password_instructions_path_for(resource_name)
# super(resource_name)
# end
end
是我遗漏了什么还是我做错了什么?
当我将“get 'users/password'”添加到 routes.rb 时,出现错误:
找不到用户控制器的操作“密码”(未知操作)
任何帮助将不胜感激!
【问题讨论】:
-
请不要在您的问题中编辑解决方案。相反,将解决方案作为答案发布在下面。本网站的格式始终是“问题在上,答案在下”。