我在菜单中有以下链接:
<li><%= link_to "Change your password", edit_user_registration_path %>
这是我的路线:
devise_for :users
点击链接后,我收到以下路由错误:
No route matches {:controller=>"devise/admin"}
我不明白我做错了什么。
以下是设计路线:
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session GET /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PUT /users(.:format)
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
答案 0 :(得分:1)
如果我没记错的话,我认为更改密码链接的路径为edit_password_url
。
答案 1 :(得分:0)
在没有看到更多代码的情况下,我能提供的最佳解决方案就是扯掉设计并重新安装。只需运行rails d命令,反转创建设计并重新开始的生成命令。
答案 2 :(得分:0)
您需要告诉rails您正在编辑
的密码正确的方法就是这样
<li><%= link_to "Change your password", edit_user_registration_path(current_user) %>
current_user是由devise提供的帮助程序。希望它有所帮助!
答案 3 :(得分:0)
如果你有一个设计模型用户,你可以使用这个路径路由到更改密码页面:
edit_user_registration_path
然后你可以在你的视图中使用它:
<%= link_to 'Change Password', edit_user_registration_path %>