2013-07-16 74 views
0

​​從GET改變路線RoR中刪除

這是我感興趣的路線

然而,當我去/註銷,我得到這個錯誤:

No route matches [DELETE] "/logout",如何我是否將這條路線從get更改爲delete

這是我的路線目前是如何設置:

get 'logout', to: 'devise/sessions#destroy', as: :logout

與我聯繫:

<%= link_to "Sign Out", logout_path, method: :delete %>

+0

這種嘗試<%=的link_to 「退出」,logout_path,:方法=> '刪除' %> – Debadatt

+0

@Debadatt,我得到同樣的錯誤。沒有變化。 – Albzi

+0

使用'delete'logout'來:'devise/sessions#destroy',如下面答案中建議的::logout'會讓你的'link_to'工作。不過,奇怪的是,你並沒有通過設計自動獲得這條路線。當我運行'rake routes'時,我有一行'destroy_user_session DELETE /users/sign_out(.:format)devise/sessions#destroy',我不必在'routes.rb'中手動設置路由。 –

回答

5

變化:

get 'logout', to: 'devise/sessions#destroy', as: :logout 

到:

delete 'logout', to: 'devise/sessions#destroy', as: :logout 

你可以找到關於此頁面上路由的詳細信息:Routing Rails Guide

+0

謝謝,沒有意識到這是簡單的! – Albzi