У меня есть класс Ссылки. Класс имеет эти атрибутыПользовательская проверка для формата
- Quora
Я хочу написать проверку, что гарантирует, когда пользователь вставляет ссылку в текстовое поле оно начинает с http или https.
Валидация работает, но у меня есть проблема, когда пользователь вообще не вставляет ссылку. Он по-прежнему пытается запустить проверку на пустой атрибут и вызывает ошибку. Следующий код - это моя попытка проверить пустой атрибут.
Вот моя проверка:
class Links < ActiveRecord::Base
attr_accessible :facebook, :twitter, :quora, :pinterest
validate :formatted_link
def formatted_link
links = %w(facebook twitter pinterest quora)
if links.any? {|link| self[link].nil?}
#Don't want it to do any validation if column is nil.
#Would like to drop column if user doesn't add a link.
else
validates_format_of links, :with => URI::regexp(%w(http https))
errors.add(:base, "Your link must start with http or https.")
end
end
Причина:
Если пользователь просто представляет "www.twitter.com/username" URL прибудет-х приложил к моим сайтам URL «mydomain.com/page/ www.twitter.com/username. Не знаю, почему это происходит. Если есть что-то еще, что я мог сделать, чтобы предотвратить это или что-то я отсутствующий, пожалуйста, дайте мне знать.
Спасибо.
Спасибо, davogones, the allow_blank работал. Не могу ответить на голосование. B/c У меня недостаточно очков репутации. – Zach