Ich muss abhängig von Parametern Daten hinzufügen.
%Vor%Aber es funktioniert aus irgendeinem Grund nicht. Danke
Jede Ihrer Anweisungen ersetzt die Variable @users
, und wenn ActiveRecord jede träge auswertet, werden die ersten beiden nie aufgerufen.
Wenn Sie drei separate Abfragen verwalten und Dinge auf diese Weise aufbauen möchten, können Sie Folgendes tun:
%Vor%Es ist nicht das schönste, aber es wird funktionieren. Ich empfehle jedoch, es auf einen einzelnen Methodenaufruf zu beschränken und es im Modell zu definieren.
%Vor%Auf diese Weise können Sie die Methode erneut verwenden, verfeinern und Geschwindigkeitstests (ier) darauf schreiben.
Dies ist ein perfekter Fall für Bereiche. Schauen Sie sich dieses Asciicast für ein ausführlicheres Tutorial an: Ссылка
Wenn Sie Bereiche verwenden, können Sie die where-Klauseln als separate Elemente beibehalten, die Sie einzeln wiederverwenden können. Sie können sie aber auch wie die where-Klauseln verketten.
Tatsächlich ist es besser, wenn Sie Bereiche erstellen, zum Beispiel Dies ist ein ausgezeichneter Artikel, der das erklärt
in Ihrem Modell
%Vor%und in Ihrer Methode können Sie auf diese Weise aufrufen
%Vor%Tags und Links ruby ruby-on-rails-3 ruby-on-rails activerecord