我有以下型号
Class User
has_many :memberships
Class Membership
belongs_to :user
会员资格表有两列,user_id
和organization_id
。
但是organization_id
也是用户ID。
我如何具体化关联以便:
@user.organizations
返回该用户所属的组织(其他用户)列表。
答案 0 :(得分:2)
我认为这样做的正确方法是创建三个模型如下:
#user.rb
class User < ActiveRecord::Base
has_many :memberships
has_one :organization
end
#organization.rb
class Organization < ActiveRecord::Base
attr_accessible :user_id
belongs_to :user
has_many :memberships
end
#membership.rb
class Membership < ActiveRecord::Base
attr_accessible :user_id, :organization_id
belongs_to :user
belongs_to :organization
end
答案 1 :(得分:0)
想出来:
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :organization, class_name: "User"
end
class User < ActiveRecord::Base
has_many :memberships
has_many :organizations, through: :memberships
end