제가 모델을 가지고 있다고 가정 해 봅시다 : 사용자와 아이템, 그리고 그들 사이의 다 대다 관계. 정의 된 속성을 가진 항목이 더 이상없는 사용자, 즉 색상이있는 항목이있는 사용자 = [ 'red', 'black']를 얻는 방법.레일스에서 has_many가 반전되었습니다.
는 물론 I는 다음과 같이 수행 할 수 있습니다
User.all :joins => [:items, :items], :conditions => {:"items.color" => "red", :"items_users.color" => 'black'}
을하지만 더 속성에 대해 꽤 성가신 될 것입니다.
User.all(:conditions => ["items.color in (?), ['red', 'black']], :include => :items)
을하지만이 사람은
그래서 유일한 솔루션입니다 [ '블루', '등', '레드', '블랙'] 항목 색상 =을 갖는 또한 사용자를 반환 또한 할 수있다 루비 문법으로 모두 정렬하려면? 하나의 SQL 쿼리 또는 Rails AR 구문에서이를 수행하는 방법은 무엇입니까? 내 의견으로는, 프로그래머 시간과 가독성을 최적화
간단하지만 이것은 레일 규칙을 위반하고 체인에서 지연로드를 방지합니다 (이것이 '람다' –