Railsの初心者を助けてください:)クラスprotect_from_forgery
に属性のない呼び出し(デフォルトで指定)があります。ApplicationController
基本的にコードは次のとおりです。
class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
protect_from_forgery
helper_method :current_user_session, :current_user
filter_parameter_logging :password, :password_confirmation
私がすべきだと思うのは、正しいのない POST リクエストを防ぐ必要があるということですauthenticity_token
。しかし、以下のような jQuery でポスト リクエストを送信すると、正常に動作します (データベースで実行される update ステートメントがあります)。
$.post($(this).attr("href"), { _method: "PUT", data: { test: true } });
送信されたパラメーターの中にないことがコンソールに表示さauthenticity_token
れますが、リクエストは引き続き有効と見なされます。何故ですか?
UPD config/environments/development.rb で構成設定が見つかりました
config.action_controller.consider_all_requests_local = true
DEV 環境とローカル リクエストにより、これらの jQuery ポスト リクエストは問題ありませんでした。