2014-02-24 122 views
0

我使用的設計進行用戶身份驗證在我的意見,我設置:路由錯誤:沒有路由匹配[GET]「/用戶/ SIGN_OUT

<% if user_signed_in? %> 
    <li><%= link_to "Log Out", destroy_user_session_path %></li> 
<% else %> 
    <li><%= link_to "Sign In", new_user_session_path %></li> 
<% end %> 

然而,當我點擊Log_Out我得到錯誤:

沒有路由匹配[GET] 「/用戶/ SIGN_OUT」

然而,當我檢查我耙路線我越來越:

devise/sessions#destroy destroy_user_session DELETE /users/sign_out(.:format) 
+2

'DELETE '有一個真正的含義,基本上它不是'GET' – apneadiving

+0

但是我使用了正確的語法來註銷用戶 – Mutuma

+0

@Mutuma不要忘記接受幫助你解決問題的答案。 –

回答

1

什麼apneadiving說。

<%= link_to "Log Out", destroy_user_session_path, method: :delete %> 
1

默認註銷是使用「刪除」方法。您的路線還表示,該方法被「DELETE」

如果你想用‘get’方法

修改devise.rb到

config.sign_out_via = :get 
+0

我想我最後沒有添加刪除方法,但我剛糾正了錯誤 – Mutuma

0

Baloo是正確的,請務必使用:刪除方法你可以清楚地看到這如果你調用

rake routes 

你看到的路徑和方法。

+0

按照他的指示,我發現我剛剛沒有在最後包括該方法 – Mutuma

相關問題