Хорошо, теперь я предполагаю, что это ошибка в rspec, factory_girl или mongoid. Когда я изменяю код следующим образом, он работает.
server1 = @volume.pserver.reload # no clue why reload is needed here
puts server1
@volume.pserver = server2
puts server1
Я все еще озадачен, какова реальная причина. Я постараюсь сделать простой проект, который воспроизводит проблему, и опубликую проблему для всех трех проектов ...