有一些类似于我的问题,但不是我正在寻找的
Many-to-many relationship with the same model in rails?
我的情况就像是有很多朋友的用户。
class User
has_many connections
has_many friends, through: connections, class_name: 'User'
end
class Connection
belongs to :user
belongs to :friend, class_name: 'User'
end
这让我非常接近,我能做到:
first = User.create
second = User.create
first.friends << second
first.friends # => [ second ]
我希望连接能够双向进行
first.friends << second
second.friends # => [ first ]
问题是“friends”查询正在寻找User的user_id的连接,然后找到所有的friend_id。由于没有与“second”的user_id连接,“second”没有连接。
我在想两种解决方案。 1)创建第一个连接时,使用user_id =“second”创建另一个连接。 2)覆盖“friends”方法以生成一个可以解决它的SQL查询。
对此有何想法?感谢。
答案 0 :(得分:0)