2012-04-14 195 views
1

我無法測試我的登錄...'因爲我無法註銷(還沒有將註銷按鈕放到那裏)。 我能夠測試一次,但現在我'卡住'登錄!rails-devise - 無法註銷

爲什麼我不能用
http://localhost:3000/account/sign_out

,我得到一個錯誤No route matches [GET] "/account/sign_out"

rake routes給我:

  ... 
     new_standard_user_session GET /account/sign_in(.:format)          devise/sessions#new 
      standard_user_session POST /account/sign_in(.:format)          devise/sessions#create 
    destroy_standard_user_session DELETE /account/sign_out(.:format)          devise/sessions#destroy new_standard_user_registration GET /account/sign_up(.:format)          devise/registrations#new 
      ... 

和我/account/sign_in/account_sign_up的URL都OK

回答

8
No route matches [GET] "/account/sign_out" 

您試圖通過GET方法訪問該鏈接,但是您的路由是DELETE,就像您發佈的那樣。

destroy_standard_user_session DELETE /account/sign_out(.:format) 

因此,爲了使這項工作,使用來自link_tomethod參數(我假設你正在創建具有link_to您的鏈接)

像這樣的事情

link_to "Sign Out", destroy_standard_user_session_path, :method => :delete 

最好的問候

+0

是的,就是這樣,添加了鏈接:刪除修復它。謝謝。 – junky 2012-04-17 16:59:56