У меня был <%= csrf_meta_tags %>
в моем теге HEAD, но я создал форму вручную, поэтому скрытое поле authenticity_token
не было вставлено в мою форму.Adde токен аутентификации вручную, но он не подтвержден в backend
Так я добавил authenticity_token
вручную:
<input name="authenticity_token" value="<%= form_authenticity_token %>" type="hidden">
При отправке контакта по умолчанию форму моего веб-сайта (пользователь не вошел в систему) действие, которое обрабатывает его следует проверить маркер и разрешить/отклонить запрос. Но это не так: я использую jQuery для удаления поля и отправки формы, но не ошибки и исключения.
Я получил эту линию protect_from_forgery with: :exception
в application_controller.rb
и поставить то же самое в foo_controller.rb
, который простирается application_controller и имеет действие, которое реагирует на контактную форму.
Так что мне не хватает? Что мне нужно сделать, чтобы эта форма была проверена в бэкэнд?
Большое спасибо!
Вам не нужно 'protect_from_forgery с:: exception' в' foo_controller.rb', если у него есть контроллер приложения. Ваша настройка, как правило, правильная, но ее трудно сказать больше без вашего вида формы/кода JavaScript, пожалуйста, добавьте его. –