method
unscoped
Ruby on Rails latest stable (v3.2.13)
-
0 notes -
Class: ClassMethods
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.1 (0)
- 3.2.3 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- What's this?
unscoped()
public
Returns a scope for the model without the default_scope.
class Post < ActiveRecord::Base def self.default_scope where :published => true end end Post.all # Fires "SELECT * FROM posts WHERE published = true" Post.unscoped.all # Fires "SELECT * FROM posts"
This method also accepts a block. All queries inside the block will not use the default_scope:
Post.unscoped { Post.limit(10) # Fires "SELECT * FROM posts LIMIT 10" }
It is recommended to use the block form of unscoped because chaining unscoped with scope does not work. Assuming that published is a scope, the following two statements are equal: the default_scope is applied on both.
Post.unscoped.published Post.published


