2016-07-30 18 views
1

私のhttp動詞を削除する設定に問題があります。これはレール5で私の最初のアプリであり、私も購入したテーマを使用しているので、私は何か愚かな行方不明だと確信しています。私は下のリンクを作成する場合:Rails 5 data-method = deleteはGETリクエストを送信します

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

をしかし私は、これはまだGETリクエストを送信している

<a rel="nofollow" data-method="delete" href="https://stackoverflow.com/users/sign_out">Sign out</a> 

を取得します。私が見た答えのほとんどは、jquery ujsがロードされているかどうかを確認すると言う。それはそうであるように見えます。他に何かが足りないのですか?

<script src="/assets/jquery_ujs.self-e87806d0cf4489aeb1bb7288016024e8de67fd18db693fe026fe3907581e53cd.js?body=1" data-turbolinks-track="reload"></script> 
+0

jquery(ujsでない)もロードされていますか?ブラウザのコンソールにエラーがありますか? JavaScriptはブラウザで有効になっていますか?とにかくdata-method = "delete"はシャドウフォームを作成し、それを使って削除をエミュレートする必要があります(ブラウザがサポートしている場合)。 button_toも使えます。 –

+0

Sergey - jqueryも読み込まれ、jsは無効になりません。私はブラウザコンソールでjQueryセレクタを使用することができます。応答していただきありがとうございます。 –

+0

あなたのjavaScriptでe.stopPropagation()を見つけるか、execjsの代わりにtherubyracer gemを試してみるか、turbolinksを無効にしようとしてみてください。 –

答えて

0

私は同じ問題があります。私がやったこと : 実行コンパイル済みのすべての資産を削除

rails assets:clobber

変更のconfig/production.rb

config.assets.compile = true

application.js:

//= require jquery2 
//= require jquery_ujs 

はそれが

を役に立てば幸い
関連する問題