0

我的用户模型有以下几行:

  has_many :social_ids 
  has_many :friend_ids,  :class_name => "SocialId"

我的 SocialId 模型有:

belongs_to :user

这让我可以做类似的事情

user1.social_ids << social_id1 user2.social_ids << social_id2 user1.friend_ids << social_id2

但是,我没有意识到(我的错误)现在 social_id1 和 social_id2 都将 user1 作为他们的用户。

这显然是错误的,但我无法弄清楚在这种情况下如何正确连接一个属于。

belongs_to :friend_user, :class_name => 'User', :foreign_key => 'friend_user_id'

看起来不对……它怎么知道进入用户的friend_ids部分而不是社交ID?

我只是完全糊涂了吗?

编辑:

我想我至少部分感到困惑。社交 ID 不应该 BELONG_TO 一个朋友,它应该是一个 HABTM 关系(一个社交 ID 可以是多个用户的朋友,每个用户都有多个 social_id 朋友)

4

0 回答 0