Method: ActiveRecord::Scoping::Named::ClassMethods#all
- Defined in:
- activerecord/lib/active_record/scoping/named.rb
#all(all_queries: nil) ⇒ Object
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 [:red_only]
fruits = fruits.limit(10) if limited?
You can define a scope that applies to all finders using default_scope.
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'activerecord/lib/active_record/scoping/named.rb', line 22 def all(all_queries: nil) 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 |