проверить длину строки по отношению к другому свойству - PullRequest
1 голос
/ 18 марта 2011

У меня есть модель с 2 свойствами

  • имя
  • url_name

Я хотел бы убедиться, что количество символов в url_name меньше или равно количеству символов в имени. Я пытался сделать что-то вроде следующего, но это не похоже на работу. У кого-нибудь есть предложения?

class Country < ActiveRecord::Base
  has_many :product

  validates_presence_of :name, :url_name
  validates_length_of :url_name, :maximum => :name.length

end

Я новичок в ruby ​​и rails, так что прости меня за непонимание некоторых основных понятий языка:)

1 Ответ

5 голосов
/ 18 марта 2011

Методы проверки по умолчанию не могут этого сделать (они довольно просты), но вы можете создать собственный метод проверки, например:

validate :url_length

def url_length
  errors.add(:url_name, "error") unless url_name.length <= name.length
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...