[英]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.