【发布时间】:2012-06-23 14:27:39
【问题描述】:
我有一个要验证的表单。验证基于其他几个模型对象中的属性,但表单本身并不对应于 ActiveRecord 模型。
是否可以使用 ActiveModel 来实现这一点?
class Person < ActiveModel
has_one :shoe
validates :name, :length => { :maximum => self.shoe.size }
end
我基本上想根据另一个模型对象的属性来验证表单。这有可能吗?
【问题讨论】:
-
不确定 ActiveModel/ActiveRecord 存在什么问题。您想要的是能够在验证中引用记录,对吗?
-
我对任何事情都没有“问题”。我只想在基于另一个类的属性的非 ActiveRecord 模型中进行验证。
-
但是您向我们展示了一个 ActiveRecord 模型。加上验证有 self 引用 person 类,但可能意味着引用验证的记录。请澄清
-
抱歉,ACtiveRecord 是复制粘贴错误。我在问 ActiveModel 是否可以为我做这件事,但我与 ActiveModel 无关。我想用另一个类(鞋)的属性对一个类(人)执行 ActiveRecord 样式验证,而这个类又是被验证类的一个属性。
标签: ruby-on-rails validation activerecord activemodel