Как работают переменные ссылки? - PullRequest
3 голосов
/ 29 января 2012

Это мой код, ничего особенного:

server1 = @volume.pserver
puts server1
@volume.pserver = server2
puts server1

Я ожидаю, что сама ссылка, а не атрибуты ссылки, хранящиеся в server1, всегда остаются неизменными, но изменяется:

#<Pserver:0x00000005bd3b98>
#<Pserver:0x0000000662b2a8>

Как это возможно?

1 Ответ

0 голосов
/ 29 января 2012

Хорошо, теперь я предполагаю, что это ошибка в rspec, factory_girl или mongoid. Когда я изменяю код следующим образом, он работает.

server1 = @volume.pserver.reload # no clue why reload is needed here
puts server1
@volume.pserver = server2
puts server1

Я все еще озадачен, какова реальная причина. Я постараюсь сделать простой проект, который воспроизводит проблему, и опубликую проблему для всех трех проектов ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...