Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 455 Bytes

002-relation-merge.md

File metadata and controls

22 lines (17 loc) · 455 Bytes

About Relation#merge

#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