我的用户模型有以下几行:
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 朋友)