Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on Rails错误,路由错误没有与[GET]匹配的路由/“用户”;,设计_Ruby_Ruby On Rails 4_Devise_Routes - Fatal编程技术网

Ruby on Rails错误,路由错误没有与[GET]匹配的路由/“用户”;,设计

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: '

因此,我在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: '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
上生成所有用户的列表,而是会生成一个供用户登录、注销等的界面。我不知道。谢谢