instance method
all
Ruby on Rails edge
Since v4.0.13Signature
all(all_queries: (all_queries_not_set = true))
Returns an ActiveRecord::Relation scope object.
posts = Post.all
posts.size # Fires "select count(*) from posts" and returns the count
posts.each {|p| puts p.name } # Fires "select * from posts" and loads post objects
fruits = Fruit.all
fruits = fruits.where(color: 'red') if options[:red_only]
fruits = fruits.limit(10) if limited?
You can define a scope that applies to all finders using default_scope.
Parameters
-
all_querieskey = (all_queries_not_set = true)
Source
# File activerecord/lib/active_record/scoping/named.rb, line 22
def all(all_queries: (all_queries_not_set = true))
if all_queries_not_set
all_queries = nil
else
ActiveRecord.deprecator.warn(
"The `all_queries` keyword argument to `ActiveRecord::Base.all` is deprecated and will be removed in Rails 9.0."
)
end
return all_queries_scope if all_queries
scope = current_scope
if scope
if self == scope.model
scope.clone
else
relation.merge!(scope)
end
else
default_scoped(all_queries: all_queries)
end
end
Defined in activerecord/lib/active_record/scoping/named.rb line 22
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Scoping::Named::ClassMethods