2
我有三個型號 - User, Membership, Connection
,它們看起來就像這樣:我可以通過關係中的外鍵做一個`has_many'嗎?
class User < ActiveRecord::Base
has_many :memberships, dependent: :destroy
end
class Membership < ActiveRecord::Base
belongs_to :inviter, class_name: "User", foreign_key: "user_id"
belongs_to :invited, class_name: "User", foreign_key: "invited_id"
has_many :connections, dependent: :destroy
end
class Connection < ActiveRecord::Base
belongs_to :inviter_membership, class_name: "Membership", foreign_key: "membership_id"
belongs_to :invited_membership, class_name: "Membership", foreign_key: "invited_membership_id"
end
但是...我希望做的是從安裝到user
一個connections
直接連接。所以,理想情況下我希望能夠做到user.invited_connections
或user.inviter_connections
,他們將對應正確的連接。
即user.invited_connections
將對應於連接在membership.user_id == current_user.id
(但請記住它與已與... user_id
與user_id
相關的不只是成員相關聯的成員記錄相關聯的連接。
這是可能的