簡體   English   中英

Ruby on Rails:注銷設計,路由錯誤,需要提交兩次

[英]Ruby on Rails: Signing out of devise, routing error, needs to submit twice

我已經設置了一個注銷按鈕,但是它將我帶到該鏈接,但沒有注銷我。 我展示

Routing Error

No route matches [DELETE] "/signout"
Try running rake routes for more information on available routes.

我有這個

<%= link_to "Logout", destroy_user_session_path, method: :delete %>

在我的耙路中

 destroy_user_session GET    /signout(.:format)       devise/sessions#destroy

在我的routes.rb中

devise_for :user, :controllers => { :registrations => "registrations" }, :skip => [:registrations, :sessions] do 
  get 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session
end

因此,注銷應該只將我帶到localhost:3000/signout ,但這就是我收到路由錯誤的地方。 但是,當我第二次輸入URL時,而在路由錯誤頁面中,它最終使我注銷。 為什么第一次不起作用?

謝謝

您具體是在告訴您的鏈接(正確)使用DELETE方法,但是您的路由與此不匹配。 更改:

get 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session

至:

delete 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM