method
unscoped
rails latest stable - Class:
ActiveRecord::Scoping::Default::ClassMethods
unscoped(&block)public
Returns a scope for the model without the previously set scopes.
class Post < ActiveRecord::Base belongs_to :user def self.default_scope where(published: true) end end class User < ActiveRecord::Base has_many :posts end Post.all # Fires "SELECT * FROM posts WHERE published = true" Post.unscoped.all # Fires "SELECT * FROM posts" Post.where(published: false).unscoped.all # Fires "SELECT * FROM posts" User.find(1).posts # Fires "SELECT * FROM posts WHERE published = true AND posts.user_id = 1" User.find(1).posts.unscoped # Fires "SELECT * FROM posts"
This method also accepts a block. All queries inside the block will not use the previously set scopes.
Post.unscoped { Post.limit(10) # Fires "SELECT * FROM posts LIMIT 10" }