#merge
allows you to merge AR relations. So instead of:
class Message < ActiveRecord::Base
scope :unread, -> { where(read_at: nil) }
end
class Dialog < ActiveRecord::Base
scope :with_unread_messages,
-> { joins(:messages).where(messages: { read_at: nil }) }
end
You could do:
class Dialog < ActiveRecord::Base
scope :with_unread_messages, -> { joins(:messages).merge(Message.unread) }
end