Я проверил оба из этих ранее заданных вопросов, и это помощь, но не полное решение для моего случая.
По сути, мне нужно проверить отправленный пользователем URL из формы. Я начал с проверки того, что он начинается с http://, https://, или ftp: //:
class Link < ActiveRecord::Base
validates_format_of [:link1, :link2, :link3,
:link4, :link5], :with => /^(http|https|ftp):\/\/.*/
end
Это прекрасно работает для того, что он делает, но мне нужно пройти эти два шага дальше:
- Пользователям должно быть разрешено оставлять поля формы пустыми, если необходимо, и
- Если URL-адрес, предоставленный пользователем, еще не начинается с http: // (скажем, они вводят google.com, например), он должен пройти проверку, но добавить префикс http: // во время обработки.
Мне трудно определить, как сделать это чисто и эффективно.