Coś bardzo wygodnego, z którego korzystaliśmy w szynach 3.0, to możliwość ponownego wykorzystania zakresu. Zobaczmy przykład.
class Wheel < AR::B
belongs_to :car
scope :deflated, where (:deflated => true)
end
class Car < AR::B
has_many :wheels
scope :out_of_service, joins(:wheels) & Wheel.deflated
end
Ale wydaje się, że nie działa już w 3.1, czy wiesz, czy istnieje nowy sposób, aby to zrobić? Dzięki
Odpowiedzi:
1 dla odpowiedzi № 1Moja opinia na ten temat działa, nie wiem, skąd pochodzi mój problem.
Możesz także użyć funkcji scalania () i jest to skrót.
scope :out_of_service, joins(:wheels).merge(Wheel.deflated)
Twoje zdrowie