RailsでURLのバリデーション

URLのバリデーションをしつつ未入力も許可する場合のvalidate。

validates :url, {
  :allow_blank => true,
  :format => URI::regexp(%w(http https)),
}

allow_nilじゃなくてallow_blankを使うと空文字もOKになるらしい。