Лучшая практика - валидация URL Rails3 - PullRequest
1 голос
/ 01 марта 2011

Каков наилучший способ проверки URL-адреса в ActiveRecord?

Я думал о применении следующих требований:

  1. Должен быть общедоступным URL-адресом, т. Е. Должен НЕ находиться на локальном хосте, 127.0.0.1
  2. Должен быть код состояния HTTP 2xx, 3xx (следуйте от 3xx до 2xx, если более 10 перенаправлений не сработают)

Мой трепет приходит от второго требования.Код должен будет подтвердить адрес, что потребует времени и может занять много времени для подтверждения формы.Является ли это требование разумным?

Комментарии и предложения приветствуются.

1 Ответ

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

Отправьте его в очередь заданий, например Задержка задания , чтобы выполнить его вне цикла запрос / ответ, чтобы вы могли принять данные сейчас и не задерживать пользователя, а после обработки либо сохранить запись. (если действительный), или отменить, если недействительный.

Конечно, если вам придется отказаться от него, вы можете запустить что-то еще, что позволит пользователю узнать, что возникла проблема. Поскольку он находится за пределами запроса, вам придется либо привлечь внимание пользователя на более поздних страницах (возможно, флэш-сообщение?), Либо отправить им электронное письмо.

изменить: для дальнейшей иллюстрации:

Я бы создал столбец с именем unverified_url и url, а затем установил для формы отправку unverified_url

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