Группировка атрибутов вместе рельсы 3 - PullRequest
0 голосов
/ 07 марта 2012

У меня есть модель назначения со следующими атрибутами: -

1) Континент 2) Страна 3) Город

Я делаю что-то подобное в виде: -

-@destinations.each do |d|
  =d.continent
  =d.country
  =d.city

I результат должен быть сгруппирован, т.е.: - Я хочу, чтобы все города, которые находятся в стране, вместе, и вся страна, которая находится на континенте.Я хочу показать что-то вроде этого: -

Asia
 India
  New delhi
  Lucknow
 China
  Beijing

Europe
 Greece

Как мне добиться этой вещи?

1 Ответ

1 голос
/ 07 марта 2012

Изучите метод group_by класса Enumerable.

Идея состоит в том, чтобы попробовать что-то вроде

@destinations.group_by(&:continent).each do |continent, ds_per_continent|
  # print continent
  - ds_per_continent.group_by(&:country).each do |country, ds_per_country|
    # print country
    - ds_per_country.each do |destination|
      # print destination.city
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...