重複の可能性:
レール:列から一意の値を選択します
過去2年間(2011年と2012年)に作成された5000件のレコードがあるとします。これらすべてのレコードをループして、一意の年[2011、2012]のみの配列を返すにはどうすればよいですか?
行には年ごとのラベルが付けられ、レコードの終了と列には月ごとのラベルが付けられたレポートを作成しています。次に、tdには、各年の各月の合計が入力されます。
重複の可能性:
レール:列から一意の値を選択します
過去2年間(2011年と2012年)に作成された5000件のレコードがあるとします。これらすべてのレコードをループして、一意の年[2011、2012]のみの配列を返すにはどうすればよいですか?
行には年ごとのラベルが付けられ、レコードの終了と列には月ごとのラベルが付けられたレポートを作成しています。次に、tdには、各年の各月の合計が入力されます。
Railsを参照してください:より多くのRailsアプローチについては、列から一意の値を選択してください。
Model.uniq.pluck(:year)
編集:
あなたの特定の要件のためにあなたはすることができます
Model.pluck(:created_at).map{|x| x.year}.uniq
Model.select("created_at").map{ |i| i.created_at.year }.uniq が機能しています。私はまだそれを行うためのよりクリーンな方法を探しています。