将属性分组为rails 3

时间:2012-03-06 20:51:35

标签: ruby-on-rails ruby-on-rails-3

我有一个具有以下属性的目标模型: -

1)大陆2)国家3)城市

我在视图中做了类似的事情: -

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

我将结果归为一类,即: - 我想要一个国家的所有城市和一个大陆的所有国家。我希望显示如下内容: -

Asia
 India
  New delhi
  Lucknow
 China
  Beijing

Europe
 Greece

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

查看group_by类的Enumerable method

想法是尝试像

这样的东西
@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