rails:3181
From: take_tk <ggb03124@n...>
Date: Thu, 03 Sep 2009 20:32:27 +0900
Subject: [rails:3181] Re: Active Record での書き方
たけ(tk)です。 [rails:3178] Re: Active Record での書き方 にて take_tk <ggb03124@n...> さん 曰く: > > 「新着情報の最新の10件、または24時間以内に登録されたもの」 > > 試していませんが・・ > > @articles = ( Article.find(新着情報の最新の10件) | Article.find(24時 > 間以内に登録されたもの)) > > でどうでしょうか? 二つのfindで取得されたオブジェクトのobject_idは異なるかもしれない。よっ て、駄目かもしれない。[ruby-dev:37998]『 [Feature:1.9] {Array,Enumerable}#uniq_by, #uniq_by!』によると、ruby1.9には uniq_by が 入るかもしれない。これを、自前で作っておいて・・。 class Array def uniq_by tmp = collect{|item| [yield(item) , item]} hash = tmp.reverse.inject({}){|h,t| h[t[0]]=t[1] ; h} keys = tmp.collect{|pair| pair[0] }.uniq keys.collect{|k| hash[k]} end end @articles = ( Article.find(新着情報の最新の10件) | Article.find(24時間以内に登録されたもの )).uniq_by{| model | mode.id } で、どうでしょう? take_tk = kumagai hidetake -- ML: rails@r... 使い方: http://QuickML.com/
3174 2009-09-02 10:58 [maf01541@n... ] Active Record での書き方 3178 2009-09-03 11:36 ┣[ggb03124@n... ] -> 3181 2009-09-03 13:32 ┃┗[ggb03124@n... ] 3180 2009-09-03 11:58 ┣[sakuro@2... ] 3184 2009-09-04 03:34 ┃┗[ggb03124@n... ] 3185 2009-09-04 05:56 ┃ ┗[ofl@c... ] 3189 2009-09-04 13:12 ┃ ┗[maf01541@n... ] 3205 2009-09-12 01:40 ┃ ┗[maf01541@n... ] 3206 2009-09-12 02:06 ┃ ┣[nov@y... ] 3208 2009-09-12 02:46 ┃ ┃┗[maf01541@n... ] 3209 2009-09-12 03:00 ┃ ┗[ofl@c... ] 3182 2009-09-03 20:43 ┗[nov@y... ] 3183 2009-09-03 21:05 ┗[nov@y... ]