where метод връща ActiveRecord::Relation обект и сам по себе си този обект не издава заявка към база данни. Важно е къде използвате този обект. join метод също така мързеливо зарежда заявката към базата данни, като използва свързаната таблица, но зарежда само Home таблица в паметта като свързания User таблица не се изисква. След това имате merge , какво merge методът прави е прост начин за използване на именуван обхват върху обединен модел. Нещо като
class Home < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :home
scope :available, ->{ where(available: true) }
end