How to use OR condition in ActiveRecord query

activerecord, ruby-on-rails, ruby-on-rails-3

Solution

Rails 5 comes with an `or` method.

This method accepts an `ActiveRecord::Relation` object. eg:

User.where(first_name: 'James', last_name: 'Scott')
    .or(User.where(email: 'james@gmail.com'))

Problem

I want to grab all the users that either have an email as the one supplied or the first and last name. So for example: ``` users = User.where(:first_name => "James", :last_name => "Scott") ``` which will return all the users that have the first and last name of "James" & "Scott". ``` users = User.where(:email => "james@gmail.com") ``` which will return the user with the email as "james@gmail.com". Is there a way to do a `where` clause to return either the users with the same first and last name and the user with the email that matches in one `where` query or do I need to do a merge on the 2 separate `where` clauses.

Original source

Related problems