繁体   English   中英

Ruby on Rails错误,路由错误没有路由匹配[GET]“ / users”,设计

[英]Ruby on Rails Error, Routing Error No route matches [GET] “/users”, Devise

因此,我增加设计到我的Rails项目,并呼吁生成的用户支架, users ,当我这样做,我试图进入/users我的网站的部分,但我只能访问它的几个分支,如: /users/sign_in/users/sign_up/users/edit等。

这是我得到的错误页面:

[错误页面]: 在此处输入图片说明

这是我的路线文件:

Stoabook::Application.routes.draw do
  devise_for :users
  resources :statuses
  root to: 'statuses#index'
end

这是我运行耙路时得到的:

                  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

我尝试过多次重启服务器。

编辑:

我没有脚手架。 我使用了设计助手:

rails generate devise user

看来您实际上并没有为用户提供支持,但是您使用了devise生成器。 那是很大的不同。 常规脚手架会生成所有CRUD路线。 另一方面,设计生成器则没有。 它仅与身份验证资源有关,例如注册或登录。

如果需要更多路由,则应生成自己的用户控制器。 通过这种方式,您可以覆盖或扩展已在幕后提供的设计方案。检查github页面和wiki的设计方案可能是一个明智的计划。

附言:请尽量避免使用脚手架。 是的,它加快了速度,但是在了解实际发生的事情时才这样做。 而且,它通常会创建超出您实际需求的东西。 如果您忘记删除未使用的生成代码,则代码会becomes肿。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM