instance method all

Ruby on Rails edge

Since v4.0.13

Available in: v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

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_queries key = (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

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close