たとえば、次のような日付範囲があるとします。
ranges = [
          [(12.months.ago)..(8.months.ago)],
          [(7.months.ago)..(6.months.ago)],
          [(5.months.ago)..(4.months.ago)],
          [(3.months.ago)..(2.months.ago)],
          [(1.month.ago)..(15.days.ago)]
         ]
と属性を持つPostモデル。:created_at
値がこの範囲内にある投稿を見つけたいcreated_atので、目標は次のようなクエリを作成することです。
SELECT * FROM posts WHERE created_at 
    BETWEEN '2011-04-06' AND '2011-08-06' OR
    BETWEEN '2011-09-06' AND '2011-10-06' OR
    BETWEEN '2011-11-06' AND '2011-12-06' OR
    BETWEEN '2012-01-06' AND '2012-02-06' OR
    BETWEEN '2012-02-06' AND '2012-03-23';
このような範囲が 1 つしかない場合:
range = (12.months.ago)..(8.months.ago)
次のクエリを実行できます。
Post.where(:created_at => range)
クエリは次のようになります。
SELECT * FROM posts WHERE created_at 
    BETWEEN '2011-04-06' AND '2011-08-06';
このような表記を使用してこのクエリを作成する方法はありますPost.where(:created_at => range)か?
このクエリを作成する正しい方法は何ですか?
ありがとうございました