Mongoid嵌入式文件不能维护参考?

时间:2013-06-17 02:32:06

标签: ruby-on-rails mongoid3

所以这种行为与我的预期相反。假设我有一个包含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

不保存替代文字。这是预期的行为吗?

1 个答案:

答案 0 :(得分:0)

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

将其视为嵌套哈希

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

如果你设置:

b = a[:y]

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