named_scope rails comme une extension AR :: Base
-
27-09-2019 - |
Question
class SomeModel < ActiveRecord::Base
named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago] } }
end
Je veux étendre l'AR :: La classe de base d'avoir cette named_scope pour tous les modèles, comment je peux le faire?
La solution
Créer un nouveau fichier initialiseur config / initializers , puis rouvrir la classe Base
de ActiveRecord pour ajouter le champ nommé:
module ActiveRecord
class Base
named_scope :recent, lambda {
{ :conditions => ['created_at > ?', 1.week.ago] }
}
end
end
-Bien vous obtenez une erreur assez laid si vous tentez d'utiliser ce champ le nom figure sur un modèle qui ne possède pas d'attribut created_at
...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow