2012-01-31 6 views
1

私は、私のアプリで認証作業を行うためにdevise gemを使用しています。railsユーザーセッションパスを削除する

はここでサインアウトのための私が持っているコードです:

<%= link_to "Sign out", destroy_user_session_path, :method => :delete %> 

私もこれを試してみました:私は看板に出てクリックしたときに私が手

<%= link_to "Sign out", destroy_user_session_path%> 

どちらも:

No route matches [GET] "https://stackoverflow.com/users/destroy" 

しかし、私がレーキルートを走らせると、それを見ることができます(GETではありません):

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

これを修正するにはどうすればよいですか?

+0

uがためにルートを渡すことができますあなたはルートをカスタマイズしていますか?あなたはdevise_scopeを使うことができます:ユーザーdo get '/ login' => 'devise/sessions#new' get/logout => 'devise/sessions#destroy' endとUI <%= link_to "Logout" logout_path%> – Amar

+1

あなたは ':method =>:delete'をリンク作業に使うために必要なjsファイルを含んでいますか? – PeterWong

答えて

1

ロジャーのリンクがV便利です。

私が働いていた、次の構文を使用:

<%= link_to "Log out", destroy_session_path(:user), :method => :delete %> 
+0

追加:ユーザーが私のために働かない –

5

ミッチの答えではなく、次の構文がした、近くにあったが、私のために動作しませんでした:

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