2017-09-20 4 views
1
Rails 3.2 

が動作していない、私は次のようにありますアクションが私の見解/オプション/ _form.html.slimで

= link_to 'Reject And Exit', destroy_user_session_path, :class => "btn btn-warning btn-lg" 

私はアプリケーションを実行すると、右のボタンをクリックして、

http://test.MyApp.com/users/sign_out 

しかし、私はそれをクリックしたときに、私は次のメッセージを取得::とリンクをコピーし、私が手

Unknown action 
The action 'show' could not be found for UsersController 

ここで何が起こっているか考えてみましょうか?

答えて

1

サポートされる動詞は:post:delete:putです。 ユーザーがJavaScriptを無効にしている場合、リクエストは GETに戻ります。

だからあなたの場合には、あなたはそれ以外の場合は、同じパスがあるので、それは、showメソッドにリダイレクトされますGETリクエストを行いますが、それは別のHTTP動詞を使用し、あなたのlink_toためmethodを指定する必要があり、お試しください:

= link_to 'Reject And Exit', destroy_user_session_path, :class => "btn btn-warning btn-lg", method: :delete 
1

HTTP動詞を指定しないと、処理はデフォルトでGETのリクエスト(show)になります。あなたは必要とする:ドキュメントUrlHelper#link_toから

= link_to 'Reject And Exit', destroy_user_session_path, :class => "btn btn-warning btn-lg, method: delete" 
関連する問題