Shiny happy people coding

Codons avec le sourire

with_scope passé en protected dans Rails 2.0

| Comments

Toujours en train de m'amuser à la migration de Redmine sur Rails 2.0, j'ai fait une nouvelle découverte sur les mises à jours de Rails 2.0. En effet, j'ai découvert que la méthode with_scope a été déplacé en "protected". Elle n'est donc plus accessible en public.

Cette modification a fait suite au ticket 8524 et a été mis à jours dans la révision 6909.

Bien sûr DHH a fait la remarque de cette modification dans son annonce sur la Release de Rails 2.0 PR.

Je vais vous faire une rapide traduction du passage concernant with_scope.

ActiveRecord::Base.with_scope a été déplacé en "protected" pour décourager son utilisation dans les controllers et en particulier dans les filtres. Désormais il est encouragé de l'utiliser uniquement dans le modèle lui-même. Ce pourquoi il a été initialement conçut et d'où il ne devrait pas sortir. Bien sûr, c'est tout ce qui concerne l'encouragement et le découragement. Si vous avez pesé le pour et les contres de l'utilisation de with_scope en dehors du modèle, vous pouvez toujours l'appeler de la manière suivante : .send(:with_scope)