問題タブ [ruby-on-rails-5.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
300 参照

jquery - Rails 5.1 post ajax receive http 405 - メソッドはテスト環境でのみ許可されていません

私はこのシナリオを作成しようとしています:

フローは次のとおりです。

  1. ユーザーは入力に名前を入力します。
  2. 送信ボタンをクリックします。
  3. スイート アラートが成功メッセージと共に表示されます。
  4. スイートアラート内の「OK」をクリックします。
  5. jQuery で新しい行が作成され、html テーブルに追加されます。

このフローを担当する JS コードは次のとおりです。

をクリックした後submit button、カピバラは甘いアラートを見つけることができません。使用save_and_open_screenshotしてみましたが、スイートアラートが画面に表示されません。byebugコントローラーでも試しましたが、呼び出されません。

を使用して:selenium_chromeいます。

助けてくれてありがとう!

編集 1

@ThomasWalpole のいくつかのコメントの後、<%= csrf_meta_tag %>対応するタグをレンダリングしない理由を見つけようとしました。かどうかを確認するために呼び出すだけであることがわかりました。テスト環境で動かしているので、. テストを変更して再実行しました。csrf メタ タグはレンダリングされましたが、まだ http ステータス 405 - ajax 呼び出し後にメソッドが許可されていません。csrf_meta_tagprotect_against_forgery?config.action_controller.allow_forgery_protectiontrueconfig.action_controller.allow_forgery_protectionfalsetrue

編集 2

@ThomasWalpoleが要求した私のルート:

編集 3

私のカピバラの設定: