1

User モデルと Tracker モデルがあります

目標は、ユーザーに次のものを持たせることです: - このユーザーによって作成された 1 つのトラッカー - ユーザーへの 1 つのリファラー トラッカー

一方、各トラッカーは次のことを行います: - 1 人のユーザー、つまりそれを作成した 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