Ruby on Rails错误,路由错误没有与[GET]匹配的路由/“用户”;,设计
因此,我在Rails项目中添加了designe,并生成了一个名为“Ruby on Rails错误,路由错误没有与[GET]匹配的路由/“用户”;,设计,ruby,ruby-on-rails-4,devise,routes,Ruby,Ruby On Rails 4,Devise,Routes,因此,我在Rails项目中添加了designe,并生成了一个名为“/users”的用户支架,之后我尝试进入我网站的/users部分,但我只能访问它的几个分支,如:/users/sign\u in,/users/sign\u-up,/users/edit,等等 这是我得到的错误页面: [错误页]: 这是我的路由文件: Stoabook::Application.routes.draw do devise_for :users resources :statuses root to: '
/users
”的用户支架,之后我尝试进入我网站的/users
部分,但我只能访问它的几个分支,如:/users/sign\u in
,/users/sign\u-up
,/users/edit
,等等
这是我得到的错误页面:
[错误页]:
这是我的路由文件:
Stoabook::Application.routes.draw do
devise_for :users
resources :statuses
root to: 'statuses#index'
end
这就是我运行rake路线时得到的结果:
Prefix Verb URI Pattern Controller#Action
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /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
PATCH /users/password(.:format) devise/passwords#update
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
PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
statuses GET /statuses(.:format) statuses#index
POST /statuses(.:format) statuses#create
new_status GET /statuses/new(.:format) statuses#new
edit_status GET /statuses/:id/edit(.:format) statuses#edit
status GET /statuses/:id(.:format) statuses#show
PATCH /statuses/:id(.:format) statuses#update
PUT /statuses/:id(.:format) statuses#update
DELETE /statuses/:id(.:format) statuses#destroy
root GET / statuses#index
我已多次尝试重新启动服务器
编辑:
我没有把它架起来。我使用了Desive助手:
rails generate devise user
看起来您实际上并没有对用户进行脚手架搭建,但您使用了Desive generator。这是一个很大的区别。常规脚手架生成所有积垢路径。另一方面,设计发电机却没有。它只涉及身份验证资源,例如注册或登录 如果您想要更多的路由,您应该生成自己的用户控制器。通过这种方式,您可以覆盖或扩展引擎盖下已经提供的Desive。检查github页面和wiki中的Desive可能是一个明智的计划
注意:如果可能,请尽量避免使用脚手架。是的,它加快了速度,但是在了解实际发生的事情的范围内,它就加快了速度。此外,它通常会创造出比你实际需要更多的东西。如果您忘记删除未使用的生成代码,您的代码将变得臃肿。对,因此这不会在
/users
上生成所有用户的列表,而是会生成一个供用户登录、注销等的界面。我不知道。谢谢