2

私はいくつかの記録を持っています:

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'for#

コントローラ/モデルにメソッドを追加する必要がありますか?なぜ-.eachメソッドがビューで正常に機能する場合、グループは機能しませんか?

4

2 に答える 2

0

通常、インスタンス変数は小文字ですが、そうではあり@ordersません@Ordersgroupエラーは、そこにあるものが何であれ、メソッドが見つからないことを示している@Ordersので、それに焦点を当てます。

それが整理されたら、ActiveRecorddistinct演算子を使用するか、レコードがルビーの場合.uniqはコレクション(つまり配列)で使用することをお勧めします。

于 2012-12-04T14:52:26.733 に答える
0

何を表示/表示しようとしているのかは少しわかりませんが、#group_byhttp://api.rubyonrails.org/classes/Enumerable.html#method-i-group_by)を確認することをお勧めします。

または、このページの集計メソッドのいくつかを見てください:http: //api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-calculate

于 2012-12-04T15:14:53.103 に答える