Ruby Mongoid-至少为一个文档将字段设置为true
我希望数据库中至少有一个名为“Ruby Mongoid-至少为一个文档将字段设置为true,ruby,sinatra,mongoid,Ruby,Sinatra,Mongoid,我希望数据库中至少有一个名为“selected”的字段设置为true的文档总是。我该怎么做?很可能我必须使用回调,但哪一个:在创建之前(或之后)\u upsert,\u update 我怎样才能确保无论执行什么操作,它都被设置为true:创建、更新、上传。。。?我想为它们中的每一个创建回调是不对的。在创建和更新之后 所以你可以做: after_save do |your_class| your_class.update_column(:selected, true) unless YourC
selected
”的字段设置为true的文档总是。我该怎么做?很可能我必须使用回调,但哪一个:在创建之前(或之后)\u upsert,\u update
我怎样才能确保无论执行什么操作,它都被设置为true:创建、更新、上传。。。?我想为它们中的每一个创建回调是不对的。在创建和更新之后
所以你可以做:
after_save do |your_class|
your_class.update_column(:selected, true) unless YourClass.where(selected: true).exists?
end
注意 不会有无限递归吗?很好。那上面有一个链接。/不会有无限递归吗?