2015-11-30 73 views
0

漂亮的標準鏈接:Rails&Devise:destroy_user_session_path去用戶#顯示?

<li><%= link_to 'Log Out', destroy_user_session_path(current_user) %></li> 

耙路線:

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

的routes.rb:

devise_for :users, :controllers => { omniauth_callbacks: "users/omniauth_callbacks", sessions: "users/sessions" } 

用戶/ sessions_controller.rb:

類用戶:: SessionsController < Devise :: SessionsController

def destroy 
    binding.pry 
    cookies.delete(:auth_token) 
    flash[:notice] = "Successfully Logged Out" 
    redirect_to new_session_path 
    end 

end 

binding.pry甚至沒有被調用。鏈接將我帶到網址/users/sign_out,但視圖是Users#show。

任何想法?

+0

請顯示處理會話的控制器功能#destroy – hamitron

+0

嗨@hamitron我加了一些編輯來澄清 –

回答

1

銷燬操作需要DELETE HTTP謂詞,如rake routes輸出中所示。

您需要將method: :delete添加到鏈接助手的末尾,否則鏈接將產生GET請求。

+0

啊......謝謝指出 –

相關問題