Come faccio a creare un ambito di Activecord che non influisce sulla query in Rails 3 usando Arel (presumibilmente)?

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

Domanda

Essenzialmente sto cercando un tipo di relazione no-op da applicare a una catena di ambiti.

Diciamo che ho una catena di ambiti:

Post.approved.published.all

Ora, ai fini del debug, desidero fare il published l'ambito non fa nulla, in modo che la catena torni solo approved post, indipendentemente dal fatto che lo siano published o no.

Cosa tornerei nel seguente metodo:

def self.published
  # what to return?
end
È stato utile?

Soluzione

Fare published un alias per all, o usare scoped restituire una relazione a cui possono essere inseguite condizioni aggiuntive:

def self.published
  all
  #or
  scoped
end

Userei un ambito, tornerei all...

scope :published, all

o, rendilo un alias per scoped:

scope :published, scoped
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top