STI와의 연관성을 사용하는 검색 논리 검색을 구현하려하지만 STI 레코드를 하위 클래스가 아니라 상위로 선택하는 문제가 있습니다.SearchLogic + STI
예 :
select * from users WHERE users.company LIKE
보다는
: 내가 "와 같은 아티스트 에이전트 회사"에 대한 검색을 수행 할 때
class Users
end
class Artist < User
has many :agents, :through => :agents artists
end
class Agent < User
has many :artists, :through => :agents artists
end
, 그것은 사용자와이 아닌 에이전트와 에이전트를 기반세요
select * from users AS agents WHERE agents.company LIKE
이 문제를 ActiveRecord 클래스 수준에서 우선 적용 할 수 있는지 궁금합니다 (예 : 연관 I 에이전트가로드 될 것이라는 것을 지정할 수 있다면 as => : 에이전트 또는 그 라인을 따르는 무언가), 또는 searchlogic에 패치를 적용해야하는지, 아니면이를 수행하기 위해 내가 할 수있는 일이 무엇인지 생각하고있었습니다.
나에게 일어난 또 다른 옵션 중 하나는 그 사람의 에이전시 목록이 포함 된 필드를 사용자 테이블에 추가하는 것입니다.
라는 이름의 범위 : 기관을 포함, 람다 {예를 들어 users.agencies => 기관 한 명, 청 두 이름