пожалуйста, помогите новичку в 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, как показано ниже, он работает нормально (в базе данных выполняется инструкция обновления)!
$.post($(this).attr("href"), { _method: "PUT", data: { test: true } });
Я вижу в консоли, что среди отправленных параметров нет authenticity_token
, но запрос по-прежнему считается действительным. Это почему?
UPD Обнаружен параметр конфигурации в config / environment / development.rb.
config.action_controller.consider_all_requests_local = true
Из-за среды DEV и локальных запросов эти почтовые запросы jQuery были в порядке.