пожалуйста, помогите новичку в 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 / средах / development.rb
config.action_controller.consider_all_requests_local = true
Из-за среды DEV и локальных запросов эти пост-запросы jQuery были в порядке.