В настоящее время я работаю над небольшим приложением для Rails 3, помогающим отслеживать работу секретных Санта-Клаусов. Я почти закончил и полностью озадачен, пытаясь разобраться с этой последней проблемой.
У меня есть монгоидный документ Participant, который требует самообъединения, чтобы представить, кто кому должен покупать подарки. Что бы я ни делал, я не могу заставить это работать. Мой код выглядит следующим образом:
# app/models/participant.rb
class Participant
include Mongoid::Document
include Mongoid::Timestamps
field :first_name, :type => String
field :last_name, :type => String
field :email, :type => String
# --snip--
referenced_in :secret_santa, :class_name => "Participant", :inverse_of => :receiver
references_one :receiver, :class_name => "Participant", :inverse_of => :secret_santa
Используя консоль rails, если я устанавливаю какое-либо свойство, оно никогда не отражается на другой стороне соединения, а иногда теряется все вместе после сохранения и перезагрузки. Я уверен, что ответ смотрит мне прямо в лицо, но после нескольких часов пристального взгляда я все еще не могу его увидеть.