# Collection ordinata di un'associazione

**URL:** <https://www.ruby-forum.com/t/collection-ordinata-di-unassociazione/159224>\
**Category:** IT\
**Created:** [February 2, 2009, 3:30pm UTC](https://www.ruby-forum.com/t/collection-ordinata-di-unassociazione/159224 "2009-02-02T15:30:30Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![menestra](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/fbc32d/32.png) [@menestra](https://www.ruby-forum.com/u/menestra)\
**Post date:** [February 2, 2009, 3:30pm UTC](https://www.ruby-forum.com/t/collection-ordinata-di-unassociazione/159224/1 "2009-02-02T15:30:30Z")

</div>

Ciao ragazzi,

volevo sapere se c’Ã¨ un modo rapido e veloce per riprendere la  
collection di un’associazione giÃ ordinata in base ad un dato specifico.

Mi spiego meglio illustrando un esempio:  
io ho una rubrica dove ci sono piÃ¹ articoli. Questi articoli hanno un  
attributo che mi dice se devono essere pubblicati o meno e la data di  
creazione dello stesso.  
Io vorrei semplicemente rirpendere tutti gli articoli dove lo  
stato=pubblicato ordinati per data di creazione in maniera decrescente.

Se io facessi rubrica.articoli le condizioni sopra descritte non sono  
rispettate in qquanto prenderei tutti gli articoli e basta associati a  
quella determinata rubrica.

Accetto consigli.

Grazie

---

<div class="post-metadata">

**Author:** ![menestra](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/fbc32d/32.png) [@menestra](https://www.ruby-forum.com/u/menestra)\
**Post date:** [February 2, 2009, 3:51pm UTC](https://www.ruby-forum.com/t/collection-ordinata-di-unassociazione/159224/2 "2009-02-02T15:51:10Z")

</div>

On 2/2/09 3:30 PM, Alessandro Del coco wrote:

> stato=pubblicato ordinati per data di creazione in maniera decrescente.

Aggiungi una

has\_many :articoli\_pubblicati, :class\_name =\> ‘Articoli’, :conditions =\>  
{ :stato =\> ‘pubblicato’ }, :order =\> ‘created\_at desc’

Andrea

---

<div class="post-metadata">

**Author:** ![menestra](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/fbc32d/32.png) [@menestra](https://www.ruby-forum.com/u/menestra)\
**Post date:** [February 2, 2009, 3:51pm UTC](https://www.ruby-forum.com/t/collection-ordinata-di-unassociazione/159224/3 "2009-02-02T15:51:10Z")

</div>

2009/2/2 Alessandro Del coco [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> stato=pubblicato ordinati per data di creazione in maniera decrescente.
> 
> Se io facessi rubrica.articoli le condizioni sopra descritte non sono  
> rispettate in qquanto prenderei tutti gli articoli e basta associati a  
> quella determinata rubrica.

puoi usare un named\_scope, tipo:

# articolo

class Article \< ActiveRecord::Base  
named\_scope :ordinati, :order =\> ‘data\_creazione DESC’  
…  
end

poi potrai usare rubrica.articles.ordinati

leggo che puoi anche scrivere:

class Rubrica \< ActiveRecord::Base  
has\_many :articles, :order =\> ‘data\_creazione DESC’  
end

e così rubrica.articles li restituisce già ordinati.  
però questa cosa non l’ho ancora provata.

---

<div class="post-metadata">

**Author:** ![menestra](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/fbc32d/32.png) [@menestra](https://www.ruby-forum.com/u/menestra)\
**Post date:** [February 2, 2009, 5:46pm UTC](https://www.ruby-forum.com/t/collection-ordinata-di-unassociazione/159224/4 "2009-02-02T17:46:33Z")

</div>

2009/2/2 Alessandro Del coco [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Sfortunatamente mi dice che non trova il metodo named\_scope…che x  
> caso è stato introdotto con rails 2.2 (uso la 2.0)? o è un plug-in?

2.1

---

<div class="post-metadata">

**Author:** ![menestra](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/fbc32d/32.png) [@menestra](https://www.ruby-forum.com/u/menestra)\
**Post date:** [February 2, 2009, 5:07pm UTC](https://www.ruby-forum.com/t/collection-ordinata-di-unassociazione/159224/5 "2009-02-02T17:07:31Z")

</div>

Grazie a entrambi…

@Pietro G.  
Sfortunatamente mi dice che non trova il metodo named\_scope…che x  
caso Ã¨ stato introdotto con rails 2.2 (uso la 2.0)? o Ã¨ un plug-in?

Comunque la soluzione di Andrea Ciampi pare funzioni…

Grazie
