Wie erstelle ich mit Arel (vermutlich) einen ActiveRecord-Bereich, der sich nicht auf die Abfrage in Rails 3 auswirkt?

StackOverflow https://stackoverflow.com/questions/7339214

Frage

Im Wesentlichen suche ich nach einer No-Op-Beziehung, die auf eine Kette von Bereichen angewendet werden kann.

Nehmen wir an, ich habe eine Kette von Bereichen:

Post.approved.published.all

Nun möchte ich zu Debugging-Zwecken das machen published Scope tut überhaupt nichts, so dass die Kette nur zurückkehrt approved Beiträge, unabhängig davon, ob sie es sind published oder nicht.

Was würde ich mit der folgenden Methode zurückgeben:

def self.published
  # what to return?
end
War es hilfreich?

Lösung

Machen published ein Alias ​​für all, oder verwenden scoped um eine Beziehung zurückzugeben, an die zusätzliche Bedingungen gekettet werden können:

def self.published
  all
  #or
  scoped
end

Ich würde ein Zielfernrohr verwenden und zurückkehren all...

scope :published, all

oder machen Sie es zu einem Alias ​​für scoped:

scope :published, scoped
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top