проверка запускается при нажатии кнопки назад Rails - PullRequest
0 голосов
/ 10 марта 2011

Пользователь отправляет форму, и вся информация действительна.

Я только что обнаружил, что когда они нажимают кнопку "Назад", запускается следующая проверка.

validates_format_of :email,
             :with => /^[A-Z0-9._%-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i,
             :message => "should be something like youremail@something.com"

Почему эточто происходит и как я могу предотвратить его запуск?

1 Ответ

1 голос
/ 10 марта 2011

Если пользователи повторно отправляют форму - о чем их предупреждает браузер и которая всегда происходит, когда вы возвращаетесь к POST-запросу в браузере - вы ничего не можете сделать.Так работают браузеры.Кроме того, просто для ясности языка, это не «возвращение», которое вызывает проверку.Это операция над моделью, для которой вы указали проверку, вероятно, before_save.Так что происходит операция model.save, и она, вероятно, сработала (не знаю ВАШЕГО кода, вы могли бы написать @somemodel.save в любом месте вашего контроллера, но это стандартно) этой повторяющейся операцией POST.Что приходит от пользователя, в конце концов.Не следует возвращаться к опубликованной форме, она одинакова во всем Интернете, независимо от технологии бэкэнда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...