点击过去常常工作的用户个人资料链接edit_user_registration_path
(http://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的新手,所以任何帮助都将不胜感激。
答案 0 :(得分:2)
问题不在于你的edit_user_registration_path。
如果您查看错误消息,Rails正在devise文件夹中查找ideas_controller(即“devise / ideas”)。如果你没有控制器,那就意味着你正在调用一个不正确的路径。
答案 1 :(得分:-1)
edit_user_registration_path
需要用户ID。
所以你需要像edit_user_registration_path(@user)