Rails 3 и Mongoid: не похоже на настройку отношения один ко многим - PullRequest
1 голос
/ 18 февраля 2011

У меня есть модель User и модель Tracker.

. Цель состоит в том, чтобы пользователь имел: - один трекер, созданный этим пользователем - один трекер реферера для пользователя

Вкл.С другой стороны, каждый трекер: - принадлежит одному пользователю, тому, кто его создал - имеет много пользовательских рефери (которые когда-либо использовали этот трекер в качестве реферера)

Поэтому я построил свою модель следующим образом:

class User
.
.
  references_one :referer_tracker, :class_name => "Tracker", :inverse_of => :referees
  references_one :tracker, :class_name => "Tracker", :inverse_of => :owner
.
.
end

class Tracker
.
.
  belongs_to :owner, :class_name => "User", :inverse_of => :tracker
  has_many :referees, :class_name => "User", :inverse_of => :referer_tracker
.
.
end

Отношения User.tracker / Tracker.owner работают просто отлично.Но я не могу заставить User.referer_tracket // Tracker.referees один работать.

С консолью, если сделать что-то вроде этого:

trackerX.referees << userX
trackerX.save
=> false because of invalid referees

на другом конце, если я попытаюсьделать: userX.referer_tracker = trackerX Я получаю сообщение об ошибке: NoMethodError: неопределенный метод `records 'для #

У меня заканчиваются идеи, чтобы попробовать ... Я использую RoR 3.03 и Mongoid 2.0.0.7

Спасибо,

Алекс

...