2011-07-24 25 views
10

似たような質問がたくさんありますが、数時間は検索しましたが、まだ修正できません。rails devise、ログアウトに一致するルートはありません

のEnv レール3.0.9 ルビー1.9.2 工夫1.4.2

私が使用して、デフォルトのログインURLを変更:

5 resources :users 
6 devise_for :users, :path => "", :path_names => { :sign_in => 'login', :sign_out 
    => 'logout', :password => 'secret', :confirmation => 'verification', :unlock => 
    'unblock', :registration => 'register', :sign_up => 'cmon_let_me_in' } 

そして、私 の罰金http://localhost:3000/login作品をしかし、私は、

= link_to 'sign_out', destroy_user_session_path, :method => :delete 

私のapplication.hamlで、私はそれをクリックした後、パスが "/ logout"に一致しないことなぜですか? 私を助けてください。

+0

'すくいroutes'の出力は何ですか? – Dogbert

+0

あなたはグーグルで遊んだことがありますか? http://stackoverflow.com/questions/6805491/ruby-on-rails-devise-http-0-0-0-03000-users-sign-out-problem/6805662#6805662 – bassneck

答えて

11

私はほぼ同じ問題を抱えていて、SOのおかげでそれはかなり簡単に修正されました(link to my question)。まず、レイアウトファイル "application.html.erb"に<%= javascript_include_tag :defaults %>があることを確認してください。お使いの設定で次に

、 - >初期化子 - > "devise.rb" ファイルは、それが言うことを確認してください:

config.sign_out_via = :delete

とあなたの "sign_out" コードdestroy_user_session_path, :method => :deleteが動作するはずです。

+1

ルビーを使用しています1.9.2p180、Rails 3.1.0.rc4、および1.4.2を作成します。 レイアウトファイルに<%= javascript_include_tag "application"%>さんがあります。 と使用して、<%=のlink_to [ログアウト '、destroy_user_session_path、:メソッド=>:削除%> しかし、まだ、それはあなたの「devise.rb」初期化子ファイルでは、私 – Sayuj

+0

のために動作しません。あなたが 'config.sign_out_viaを持っています= delete'または 'config.sign_out_via =:get'? deviseがルートを処理する方法は最近更新されています。 :deleteメソッドを使用している場合、最初のオプションとしてsign_outパスを設定する必要があります。 – mmichael

+0

私は同じ問題を抱えています。私はdevise.rb(設定:削除)とlink_to(:メソッド=>:削除)で正しく設定しています。私はまた、JQueryを使用しています。しかし、私はまだ 'GET'リクエストを受け取ります。私はまた、生成されたコードをチェックして、私はlink_toメソッドのために以下を参照します:Logout。 –

4

config/initializers/devise.rbconfig.sign_out_via = :getを設定すると、サインアウトリンクに次のコードを使用できます。少し遅れて、このパーティーに

<%= link_to "Sign Out", destroy_user_session_path %> 
+0

Downvoteこれはpost + csrfトークンを使用するよりも安全性が低いためです。 – Bijan

5

が、ここにあなたの方法を指定して別のanswer

からいくつかの助けです:

<%= link_to "sign out", destroy_user_session_path, method: :delete %> 
関連する問題