我有一个我要验证的表单。验证基于其他几个模型对象中的属性,但表单本身与ActiveRecord模型不对应。
是否可以使用ActiveModel来实现这一目标?
class Person < ActiveModel
has_one :shoe
validates :name, :length => { :maximum => self.shoe.size }
end
我基本上想要根据另一个模型对象的属性验证表单。这有可能吗?
答案 0 :(得分:2)
class Person
include ActiveModel::Validations
# has_one :shoe # This won't work
validates :validates_name_length
private
def validates_name_length
errors.add :name, 'too long' if name && name.length > shoe.size
end
end