仅重新加载一个属性mongoid

时间:2016-04-13 12:03:52

标签: ruby mongoid5

我有model对象实现Mongoid::Document

model有一个名为name

的属性

我只需重新加载name

model

是否有短于

的东西

Model.only(:name).find(model.id).name

喜欢model.reload(:name)

1 个答案:

答案 0 :(得分:0)

仅重写重载方法:

module Mongoid
  module Document
    def reload(field = nil)
      field.nil? ? super() : eval("#{self.class.name}.only(:#{field}).find('#{self.id}').#{field}")
    end
  end
end