我有一个包含2个属性的模型
我想确保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的新手,请原谅我因为我对语言中的一些基本概念缺乏了解:)
答案 0 :(得分:5)
默认验证方法不能这样做(它们非常基本),但您可以创建自定义验证方法,例如:
validate :url_length
def url_length
errors.add(:url_name, "error") unless url_name.length <= name.length
end