【发布时间】:2015-12-04 09:42:52
【问题描述】:
我有三个模型 - User, Membership, Connection,它们看起来像这样:
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 相关联的成员资格。
这可能吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 associations