我可以为特定条件(在表格中的其他列)添加列的唯一性吗?
即
add_index :table_name, :column_name1, [:unique => true, where: :column_name2 = false]
日Thnx
答案 0 :(得分:2)
是的,你可以,但你所做的概念是错误的。
添加唯一=>如表中所示,它将始终验证数据库的唯一性。如果它是有条件的,你不应该这样做。在这些情况下,您需要做的是在模型上而不是在数据库上创建验证,如下所示:
class Account < ActiveRecord::Base
validates :email, uniqueness: true
end
您可以在此处详细了解Rails guides