簡體   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