设计打破了吗? / users / edit转到404

时间:2013-04-20 06:12:34

标签: ruby-on-rails ruby devise routes

点击过去常常工作的用户个人资料链接edit_user_registration_pathhttp://localhost:3000/users/edit)。今天发生404错误,看起来像这样。

    Routing Error

    No route matches {:controller=>"devise/ideas"}
    Try running rake routes for more information on available routes.

我检查了rake routes,我得到了

           like_idea GET    /ideas/:id/like(.:format)      ideas#like
        comment_idea POST   /ideas/:id/comment(.:format)   ideas#comment
               ideas GET    /ideas(.:format)               ideas#index
                     POST   /ideas(.:format)               ideas#create
            new_idea GET    /ideas/new(.:format)           ideas#new
           edit_idea GET    /ideas/:id/edit(.:format)      ideas#edit
                idea GET    /ideas/:id(.:format)           ideas#show
                     PUT    /ideas/:id(.:format)           ideas#update
                     DELETE /ideas/:id(.:format)           ideas#destroy
    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)               devise/registrations#update
                     DELETE /users(.:format)               devise/registrations#destroy
                root        /                              home#index

哪个看起来正确可以看到edit_user_registration_path的正确路线 我是Ruby的新手,所以任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

问题不在于你的edit_user_registration_path。

如果您查看错误消息,Rails正在devise文件夹中查找ideas_controller(即“devise / ideas”)。如果你没有控制器,那就意味着你正在调用一个不正确的路径。

答案 1 :(得分:-1)

edit_user_registration_path需要用户ID。

所以你需要像edit_user_registration_path(@user)

这样的东西