我有一个用户模型和一个跟踪器模型
目标是让用户拥有: - 一个由该用户创建的跟踪器 - 一个指向该用户的引用跟踪器
另一方面,每个跟踪器: - 属于一个用户,创建它的那个 - 有许多用户推荐人(曾经使用此跟踪器作为推荐人)
所以我通过以下方式构建了我的模型:
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
谢谢,
亚历克斯