Rails 3 default_scope et unscoped

Rails 3 a apporté un petit truc sympa le default_scope. Il permet d'appeler un scope par défaut sur un model. Par contre il peut être sympa dans certain cas d'éviter d'utiliser le default_scope. C'est pour cette raison qu'il existe unscoped

Exemple :

class Product < ActiveRecord::Base

  default_scope :order_by_name, order(:name)

end

# Ordonné par name

# SELECT * FROM products ORDER BY name;

Product.all 

# SELECT * FROM products;

Product.unscoped.all

A retenir ! En même temps c'est pas très compliqué !