验证多列的uniqueness_of的正确方法

时间:2011-08-02 21:45:15

标签: ruby-on-rails validation

假设我在桌子上有这个独特的索引:

add_index :events, [:venue_id, :act_id, :occurs_on], :unique => true

现在,如果我想在模型中验证这一点,我应该这样做:

validates_uniqueness_of :venue_id, :scope => [:act_id, :occurs_on]

或者这个:

validates_uniqueness_of :venue_id, :scope => [:act_id, :occurs_on]
validates_uniqueness_of :act_id, :scope => [:venue_id, :occurs_on]
validates_uniqueness_of :occurs_on, :scope => [:venue_id, :act_id]

1 个答案:

答案 0 :(得分:3)

您的第一个唯一性约束转换为“表格中只能存在任何特定的venue_id,act_id和happen_on元组中的一个。”因此,只需要第一个验证声明。