ActiveRecord::Relation objekt, och i sig självt skickar inte detta objekt en databasfråga. Det är var du använder det här objektet som spelar roll. gå med metod också lazy laddar databasfrågan genom att använda den associerade tabellen, men bara laddar Hem tabell i minnet som associerad Användare bord krävs inte. Efteråt har du merge , vad fusion method does är ett enkelt sätt att använda ett namngivet scope på en sammanfogad modell. Något som
class Home < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :home
scope :available, ->{ where(available: true) }
end