instance method
or
Ruby on Rails edge
Since v5.0.7.2Signature
or(other)
Returns a new relation, which is the logical union of this relation and the one passed as an argument.
The two relations must be structurally compatible: they must be scoping the same model, and they must differ only by #where (if no #group has been defined) or #having (if a #group is present).
Post.where("id = 1").or(Post.where("author_id = 3"))
# SELECT `posts`.* FROM `posts` WHERE ((id = 1) OR (author_id = 3))
Parameters
-
otherreq
Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 1236
def or(other)
if other.is_a?(Relation)
if @none
other.spawn
else
spawn.or!(other)
end
else
raise ArgumentError, "You have passed #{other.class.name} object to #or. Pass an ActiveRecord::Relation object instead."
end
end
Defined in activerecord/lib/active_record/relation/query_methods.rb line 1236
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::QueryMethods