# Group by sul modello

**URL:** <https://www.ruby-forum.com/t/group-by-sul-modello/90066>\
**Category:** IT\
**Created:** [March 29, 2006, 5:40pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066 "2006-03-29T17:40:51Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![axle988](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e47774/32.png) [@axle988](https://www.ruby-forum.com/u/axle988)\
**Post date:** [March 29, 2006, 5:40pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066/1 "2006-03-29T17:40:51Z")

</div>

Salve a tutti,

Non sapevo dell’esistenza di un forum in italiano per ruby on rails.  
Volevo sapere se qualcuno di voi conosce una qualche funzione che  
permette di raggruppare i dati presi dal model. Una specie di “Group by”  
insomma…

Grazie, Ivan.

---

<div class="post-metadata">

**Author:** ![axle988](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e47774/32.png) [@axle988](https://www.ruby-forum.com/u/axle988)\
**Post date:** [March 29, 2006, 6:17pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066/2 "2006-03-29T18:17:03Z")

</div>

[http://wiki.rubyonrails.org/rails/pages/Calculations+Plugin/versions/17](http://wiki.rubyonrails.org/rails/pages/Calculations+Plugin/versions/17)

Ivan M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto: Salve a tutti,

Non sapevo dell’esistenza di un forum in italiano per ruby on rails.  
Volevo sapere se qualcuno di voi conosce una qualche funzione che  
permette di raggruppare i dati presi dal model. Una specie di “Group by”  
insomma…

Grazie, Ivan.

–  
Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![axle988](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e47774/32.png) [@axle988](https://www.ruby-forum.com/u/axle988)\
**Post date:** [March 29, 2006, 6:17pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066/3 "2006-03-29T18:17:03Z")

</div>

[http://wiki.rubyonrails.org/rails/pages/Calculations+Plugin](http://wiki.rubyonrails.org/rails/pages/Calculations+Plugin)

segui anche i link in basso

Ivan M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto: Salve a tutti,

Non sapevo dell’esistenza di un forum in italiano per ruby on rails.  
Volevo sapere se qualcuno di voi conosce una qualche funzione che  
permette di raggruppare i dati presi dal model. Una specie di “Group by”  
insomma…

Grazie, Ivan.

–  
Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![axle988](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e47774/32.png) [@axle988](https://www.ruby-forum.com/u/axle988)\
**Post date:** [March 29, 2006, 6:47pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066/4 "2006-03-29T18:47:22Z")

</div>

> Volevo sapere se qualcuno di voi conosce una qualche funzione che  
> permette di raggruppare i dati presi dal model. Una specie di “Group by”  
> insomma…

Non ricordo se il risultato di ActiveRecord::Base#find è un Enumerable  
(voglio sperarlo),  
se lo è puoi usare qualcosa di simile:

tmp\> cat test\_categorize.rb  
module Enumerable  
def categorize(&criteria)  
results = { }  
each do |element|  
category = criteria.call(element)  
results[category] ||= []  
results[category] \<\< element  
end  
results  
end  
end

names = [‘Ugo’, ‘Massimiliano’, ‘Ido’, ‘Ciro’, ‘Ermenegildo’, ‘Pino’]

names\_by\_category = names.categorize do |name|  
case name.length  
when 0  
:uomo\_invisibile  
when 1…3  
:represso  
when 4…10  
:educato  
when 11…20  
:scostumato  
else  
:antipatico\_ai\_genitori  
end  
end

require ‘pp’  
pp names\_by\_category

tmp\> ruby test\_categorize.rb  
{:represso=\>[“Ugo”, “Ido”],  
:educato=\>[“Ciro”, “Pino”],  
:scostumato=\>[“Massimiliano”, “Ermenegildo”]}

---

<div class="post-metadata">

**Author:** ![axle988](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e47774/32.png) [@axle988](https://www.ruby-forum.com/u/axle988)\
**Post date:** [March 29, 2006, 7:23pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066/5 "2006-03-29T19:23:51Z")

</div>

On 3/29/06, Massimiliano M. wrote:

> when 11…20  
> :scostumato  
> else  
> :antipatico\_ai\_genitori  
> end  
> end  
> […]

Ahaha. Bella citazione del mitico Troisi. 🙂

Antonio

PS: [Peak Obsession](http://ar.rubyonrails.com/classes/ActiveRecord/Base.html)

–  
My Ruby blog: [http://www.antoniocangiano.com](http://www.antoniocangiano.com)  
My .NET Community: [http://www.visualcsharp.it](http://www.visualcsharp.it)

---

<div class="post-metadata">

**Author:** ![axle988](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e47774/32.png) [@axle988](https://www.ruby-forum.com/u/axle988)\
**Post date:** [April 3, 2006, 5:40pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066/6 "2006-04-03T17:40:28Z")

</div>

Grazie a tutti quanti

Ivan.

---

<div class="post-metadata">

**Author:** ![axle988](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e47774/32.png) [@axle988](https://www.ruby-forum.com/u/axle988)\
**Post date:** [March 29, 2006, 9:07pm UTC](https://www.ruby-forum.com/t/group-by-sul-modello/90066/7 "2006-03-29T21:07:20Z")

</div>

— Massimiliano M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha  
scritto:

> > Volevo sapere se qualcuno di voi conosce una  
> > qualche funzione che  
> > permette di raggruppare i dati presi dal model.  
> > Una specie di “Group by”  
> > insomma…
> 
> Non ricordo se il risultato di  
> ActiveRecord::Base#find è un Enumerable  
> (voglio sperarlo),  
> se lo è puoi usare qualcosa di simile:

tanto per aggiungere un’ennesima risposta:  
in rails 1.1 c’è proprio Enumerable#group\_by:  
[http://weblog.rubyonrails.com/articles/2006/03/01/new-in-rails-enumerable-group\_by-and-array-in\_groups\_of](http://weblog.rubyonrails.com/articles/2006/03/01/new-in-rails-enumerable-group_by-and-array-in_groups_of)

altra alternativa, lo trovi nella libreria “facets”,  
che io tengo sempre sotto il cuscino 🙂

–  
icq: #69488917  
blog: [http://riffraff.blogsome.com](http://riffraff.blogsome.com)

* * *

Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB  
[http://mail.yahoo.it](http://mail.yahoo.it)
