1

我有一个用户模型和一个跟踪器模型

目标是让用户拥有: - 一个由该用户创建的跟踪器 - 一个指向该用户的引用跟踪器

另一方面,每个跟踪器: - 属于一个用户,创建它的那个 - 有许多用户推荐人(曾经使用此跟踪器作为推荐人)

所以我通过以下方式构建了我的模型:

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: undefined method `entries' for #

我没有想法可以尝试...我正在运行 RoR 3.03 和 Mongoid 2.0.0.rc.7

谢谢,

亚历克斯

4

0 回答 0