0

我有一个具有 has_one 关系的对象。更具体地说,这是关系:

class Product < ActiveRecord::Base
  has_one :domain
end

class Domain < ActiveRecord::Base
  belongs_to :product
end

这是一个非常基本的关联。但是,我想弄清楚的是某种防止关联被覆盖的方法。

假设我有一个域为“google.com”的产品,然后是一个尝试另存为“google.com”的新产品。我希望第二个失败。

关于如何提供此关联验证的任何想法?

4

2 回答 2

0

你正在寻找validates <field>, uniqueness: true.

于 2013-04-09T21:05:33.427 回答
0

因此,要执行我正在寻找的验证,我必须将以下内容添加到域模型中:

before_update :update_test

def update_test
   product_id_was.nil? || product_id.nil?
end
于 2013-04-09T21:29:00.860 回答