【发布时间】:2011-08-18 01:59:57
【问题描述】:
我是 Rails 新手,我有一个关于如何最好地对我的模型关联执行自定义规则的问题。
例如,假设我有:
class Person < ActiveRecord::Base
belongs_to :organization
end
class Organization < ActiveRecord::Base
has_many :people
end
现在假设我只想让Organization.people << Person.new(...) 命令成功,前提是新的Person 对象与之前添加到Organization 的其他people 兼容。这需要对Organization.people 的所有现有元素进行验证检查,并决定是否可以添加新的Person。
在我看来,我可以通过覆盖所有 Organization.people 赋值运算符(例如 << 和 =)并将我的验证逻辑放入覆盖例程中来做到这一点。
这是最好的方法吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby activerecord model validation