2013-06-17 2 views
0

따라서이 동작은 내가 예상했던 것과 상반됩니다. 내가 1-n의 임베디드 이미지 (잘 이미지의 메타 데이터)를 가진 문서를 가지고 있다고 가정 해 봅시다. 나는 이것을 알게되면 :Mongoid 임베디드 문서가 참조를 유지 관리하지 않습니까?

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

모든 것이 정상적으로 작동합니다. 먼저 이미지를 참조하십시오 :

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

대체 텍스트가 저장되지 않습니다. 그것은 예상 된 행동입니까?

답변

0

docs.images.first를 var에 할당하면 원래 개체가 아니라 해당 변수가 변경된다는 것을 의미합니다.

b = a[:y] 

에 영향을주지 않습니다 B에 물건을 변경 : 그것의

생각해 당신이 설정 한 경우 중첩 된 해시에게

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

을 좋아합니다.

+0

나는 값이 아닌 복사본의 같은 위치에 대한 참조 일 것으로 예상했다. 감사. – Paul