基于记录数据的 Scope ActiveRecord Relation

Scope ActiveRecord Relation based on record data

我的模型是这样的:

class Club < ActiveRecord::Base
  belongs_to :organization
  has_many :career_clubs
  has_many :careers, through: :career_clubs
end

通过 table career_clubs 适当地获得职业。到目前为止,这只是使用俱乐部的 id 字段并获取 career_clubs table 中的所有记录 id.

我真正想要做的是同时使用 idorganization_id,以便它获得所有 career_clubs 匹配 idorganization_id.

我知道如何像下面这样使用静态数据来确定范围,但这在这里似乎行不通。

has_many :career_clubs, -> { where active: true }

这应该可以满足您的需求

has_many :career_clubs, ->(club) { 
  where(club_id: club.id, organization_id: club.organization_id)
}