where phương thức trả về một ActiveRecord::Relation và bản thân đối tượng này không đưa ra truy vấn cơ sở dữ liệu. Đó là nơi bạn sử dụng đối tượng này quan trọng. join cũng như lười biếng tải truy vấn cơ sở dữ liệu bằng cách sử dụng bảng được liên kết, nhưng chỉ tải Home bảng vào bộ nhớ dưới dạng User được liên kết bảng không bắt buộc. Sau đó, bạn có merge , cái gì merge method does là một cách đơn giản để sử dụng một phạm vi được đặt tên trên một mô hình được kết hợp. Một cái gì đó giống như
class Home < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :home
scope :available, ->{ where(available: true) }
end