Rails设计密码编辑不起作用

时间:2013-03-05 19:24:38

标签: ruby-on-rails devise passwords

我在菜单中有以下链接:

<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

4 个答案:

答案 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 %>