unscoped

unscoped()
Instance Public methods

Returns a scope for the model without the default_scope.

1
2
3
4
5
6
7
8
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:

1
2
3
Post.unscoped {
  Post.limit(10) # Fires "SELECT * FROM posts LIMIT 10"
}
doc_ruby_on_rails
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.