Ruby& Rails - 块内的条件计数

时间:2013-06-02 02:09:30

标签: ruby-on-rails ruby

这是一个简单的问题,但我无法弄明白,因为我是新手。

我的控制器有一个@neighborhoods变量,其中包含@businesses变量中每个业务的邻域记录(每个业务has_one邻居)

在我看来,我想打印出来:

  1. 每个唯一的邻居名称
  2. 每个唯一邻域名称的数量(可以是多个,因为它取自@businesses变量)
  3. 目前我有:

    <% @neighborhoods.uniq{|x| x.name}.each do |neighborhood| %>
       <p><%= neighborhood.name %></p>
       <%= @neighborhoods.where{name = neighborhood}.count %>
    <% end %>
    

    我知道上面的代码是错的,但它说明了我想要做的事情。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

<% @neighborhoods.group_by(&:name).each do |name, neighbourhoods| %>
  <p><%= name %></p>
  <%= neighbourhoods.count %>
<% end %>