我想向Mongoid :: Criteria添加一个新的类方法,所有模型都可以使用此方法,例如:
class User
include Mongoid::Document
......
end
然后我将以下代码添加到rails初始化
class Mongoid::Criteria
def use_master
read(mode: :primary_preferred)
end
end
但它不起作用:
pry(main)> User.use_master
NoMethodError: undefined method `use_master' for User:Class
如何为模型添加“ use_master”方法?任何高级帮助!
答案 0 :(得分:0)
可以通过持久性上下文更改读取首选项:
User.with(read: {mode: :primary_preferred}) do
# ...
end
《 Mongoid》手册对此进行了更深入的说明:https://docs.mongodb.com/mongoid/master/tutorials/mongoid-persistence/#runtime-persistence-options
答案 1 :(得分:0)
我找到了一个好的解决方案:
module Mongoid
module Findable
def use_master
read(mode: :primary_preferred)
end
end
end