Формат проверки Rails и замена любых других символов на дефисы?

У меня есть эта модель:

class Tag < ActiveRecord::Base

  # Validations
  validates :name, :presence => true, :uniqueness => true, :format => /[a-z0-9\+\-]+/

end

То, что я хочу, чтобы мое приложение, чтобы изменить каждый символ, который не [a-z0-9\+\-] быть превращенным в дефис. Возможно ли это и как? Благодарю.

1 ответ

Решение

Вы можете использовать фильтр before, чтобы преобразовать его перед проверкой...

before_validation :convert_name

def convert_name
  self.name.gsub! /[^a-z0-9\+\-]/, '-'
end
Другие вопросы по тегам