p = Person.find_by_id(1, :include => :bags, :conditions => ['bag.id in (?), [3,4])
Я хотел бы знать, как я могу убедиться, что этот запрос будет действительным только при наличии обоих 'items.id' '3' и '4', а не '3' или / и '4'.
Спасибо
Вам нужно вручную построить 2 внутренних объединения в таблице bags_persons:
Person.find_by_id(1, :joins => "INNER JOIN bags_persons bp1 ON bp1.person_id=persons.id INNER JOIN bags_persons bp2 ON bp2.person_id=persons.id", :conditions => "bp1.bag_id=3 AND bp2.bag_id=4")
Надеюсь, это поможет