Comment puis-je faire une portée ActiveRecord qui ne touche pas la requête dans Rails 3 en utilisant Arel (probablement)?
-
27-10-2019 - |
Question
Essentiellement, je suis à la recherche d'un type de relation no-op d'appliquer à une chaîne de champs d'application.
Disons que j'ai une chaîne de champs:
Post.approved.published.all
Maintenant, à des fins de débogage, je tiens à préciser la portée de published
ne rien faire du tout, de sorte que la chaîne ne retournera les messages de approved
, peu importe qu'ils soient ou non published
.
Qu'est-ce que je reviens dans la méthode suivante:
def self.published
# what to return?
end
La solution
Faire published
un alias pour all
ou utilisez scoped
pour revenir une relation à laquelle supplémentaire les conditions peuvent être chainged:
def self.published
all
#or
scoped
end
J'utiliser un champ, le retour all
...
scope :published, all
ou faire un alias pour scoped
:
scope :published, scoped
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow