我有一些记录:
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 %>
但我得到以下错误: #
的未定义方法`group'我是否需要在控制器/模型中添加一些方法? 为什么 - 如果.each方法在视图中正常工作,则组不会?
答案 0 :(得分:0)
通常,实例变量是小写的,即@orders
而不是@Orders
。该错误告诉您无法找到group
中的@Orders
方法,因此您将关注它。
一旦整理好了,你可能想要使用ActiveRecord distinct
运算符,或者,如果你的记录是ruby,则在集合(即数组)上使用.uniq
。
答案 1 :(得分:0)
有点不清楚你究竟想要返回/显示什么,但我想你可能想看看#group_by
(http://api.rubyonrails.org/classes/Enumerable.html#method-i-group_by)。
或者,请查看此页面上的一些汇总方法:http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-calculate