Rails多次验证

时间:2017-07-05 11:06:56

标签: ruby-on-rails ruby activerecord

我的模型有两列'name'和'size'。我只是在数据库中不存在名称和大小时才尝试验证大小的唯一性。

例如。

Name = Shirt和Size = L在数据库中,然后Name = Shirt和Size = L不应该通过唯一验证,而Name = Pant和Size = L应该传递唯一性。

2 个答案:

答案 0 :(得分:2)

如果你想用单列作为范围,那么:

validates_uniqueness_of :name, :scope => :size, message: "should be unique"

表示多列:

validates :name, uniqueness: {scope: [:size, :attr1, :attr2]}

答案 1 :(得分:1)

在这里你可以这样做

validates :name, uniqueness: { scope: :size,
message: "should be unique" }