【问题标题】:Reload only one attribute mongoid仅重新加载一个属性 mongoid
【发布时间】:2016-04-13 12:03:52
【问题描述】:

我有 model 对象实现 Mongoid::Document

model 有一个名为name 的属性

我只需要重新加载name of model

有没有短于

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

点赞model.reload(:name)

【问题讨论】:

    标签: ruby mongoid5


    【解决方案1】:

    只重写reload方法:

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

    【讨论】:

      猜你喜欢
      • 2018-04-21
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多