【问题标题】:Rails - showing grouped recordsRails - 显示分组记录
【发布时间】:2012-12-04 14:39:29
【问题描述】:

我有一些记录:

Type Name
2 USA
2 USA
3 Canada
4 Mexico 
1 Canada
2 Mexico
3 USA

我只想显示唯一类型的列表:1、2、3、4(没有双、三记录)。 在我看来,我试图做类似的事情:

<% @Orders.group(:type).each do |order| %>
... showing in the table
<% end %>

但我收到以下错误: #

的未定义方法“组”

我需要在控制器/模型中添加一些方法吗? 为什么 - 如果 .each 方法在视图中可以正常工作,但 group 不能?

【问题讨论】:

    标签: ruby-on-rails view unique


    【解决方案1】:

    有点不清楚您到底要返回/显示什么,但我想您可能想看看#group_by (http://api.rubyonrails.org/classes/Enumerable.html#method-i-group_by)。

    或者,查看此页面上的一些聚合方法:http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-calculate

    【讨论】:

      【解决方案2】:

      通常实例变量是小写的,即@orders 而不是@Orders。该错误告诉您它无法为@Orders 中的任何内容找到方法group,所以这就是您要关注的内容。

      整理好之后,您可能需要使用 ActiveRecord distinct 运算符,或者,如果您的记录是 ruby​​ 格式,请在集合(即数组)上使用 .uniq

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多