我有模型:
class Action
include Mongoid::Document
field :name, type: String
field :assignment_date, type: Date
...
index(
[
[ :name, Mongo::ASCENDING ],
[ :assignment_date, Mongo::ASCENDING ]
],
unique: true
)
validates_uniqueness_of [ :name, :assignment_date ]
但是当我尝试插入两个具有相同名称但不同assigned_date 的不同文档时,我收到错误消息:
Mongoid::Errors::Validations - Validation failed - Name is already taken, Assignment date is already taken.:
两个版本我都试过了:
validates_uniqueness_of [ :name, :assignment_date ]
和
validates_uniqueness_of :name, :assignment_date
如果我评论这一行,一切正常。
最佳答案
Mongoid:
validates_uniqueness_of :name, :scope => :assignment_date
来自文档:请注意,对于嵌入式文档,这只会检查该字段在父文档的上下文中是否唯一,而不是在整个数据库中。
关于ruby - validates_uniqueness_of 通过两个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10054102/