我有一个has_one关系的对象。更具体地说,这是关系:
class Product < ActiveRecord::Base
has_one :domain
end
class Domain < ActiveRecord::Base
belongs_to :product
end
这是一个非常基本的联想。然而,我想弄清楚的是一些防止关联覆盖的方法。
假设我有一个产品,其域名为“google.com”,后跟一个试图保存为“google.com”的新产品。我希望第二个失败。
有关如何提供此关联验证的任何想法?
答案 0 :(得分:0)
您正在寻找validates <field>, uniqueness: true
。
答案 1 :(得分:0)
因此,为了执行我想要的验证,我必须将以下内容添加到域模型中:
before_update :update_test
def update_test
product_id_was.nil? || product_id.nil?
end