Rails:验证多个模型的唯一性

时间:2011-01-13 02:56:29

标签: ruby-on-rails models validation unique

有没有办法在两个不同模型中的列之间验证属性的唯一性。例如:

我有自行车模型和汽车模型。当我创建一个新的自行车时,我想验证自行车的名称是独一无二的,因为没有其他自行车或具有该名称的汽车。我不想把它们放在一个模型中,因为它们具有非常不同的属性。我在轨道上2.3.8

感谢。

2 个答案:

答案 0 :(得分:6)

Rails不会自动验证模型(我不认为,不管怎样)。您应该只编写自己的方法来检查,等等......

class YourModel < ActiveRecord::Base
  validates :uniqueness_of_a_property_across_models

  def uniqueness_of_a_property_across_models
    // check the other model
  end
end

答案 1 :(得分:2)

也许你的汽车和自行车模型可以有一些像这个名字这样的常见属性,它们可以继承一个通用模型,并在这个模型上进行唯一性验证吗?