【问题标题】:Mongoid embedded documents not maintaining reference?Mongoid 嵌入式文档不维护参考?
【发布时间】:2013-06-17 19:23:32
【问题描述】:

所以这种行为与我的预期相反。假设我有一个包含 1-n 个嵌入图像的文档(嗯,图像的元数据)。我注意到如果我这样做:

doc.images.first.alt = 'some alt text'
doc.save

一切正常。如果我首先获得图像的参考:

i = doc.images.first
i.alt = 'some alt text'
doc.save # and/or i.save

替代文本未保存。这是预期的行为吗?

【问题讨论】:

    标签: ruby-on-rails mongoid3


    【解决方案1】:

    将 docs.images.first 分配给 var 意味着您正在更改该变量,而不是原始对象。

    把它想象成一个嵌套的哈希

    a = { x: 1, y: { z: 3 }}
    

    如果你设置:

    b = a[:y]
    

    更改 b 中的内容不会影响 a。

    【讨论】:

    • 我想我希望它是对内存中同一位置的引用,而不是按值复制。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多