나는 귀하의 문제는 created_at = ?, time_range
이고, time_range는 특정 값이 아니며 an =은 특정 값을 기대한다고 생각합니다. 그 이유에 대해 정확히 설명 할 수는 없지만 해결책을 얻을 수는 있습니다.
나는 그것을 시도 대신에이 작업을 수행하고 작동 큰
1.9.3-p125 :014 > time_range = (1.month.ago.beginning_of_month..1.month.ago.end_of_month)
=> Sun, 01 Apr 2012 00:00:00 UTC +00:00..Mon, 30 Apr 2012 23:59:59 UTC +00:00
1.9.3-p125 :015 > Post.where(:created_at => time_range).where('id not in (?)', [1,2,3]).count
(0.3ms) SELECT COUNT(*) FROM "posts" WHERE ("posts"."created_at" BETWEEN '2012-04-01 00:00:00.000000' AND '2012-04-30 23:59:59.999999') AND (id not in (1,2,3))
=> 0
UPDATE
직접 질문과 관련,하지만 당신은 의미 론적 의미와 범위에 그 조건을 배치해야 그리 당신은 Feed.from_last_month
과 비슷한 것을 가질 것입니다. Feed.not_with_ids([1,2,3])
귀하의 경우 스피 당신이 경고에 대한 설명은
Feed.from_month.not_with_ids([1,2,3]).count
이
Ruby 및 Rails의 버전은 무엇입니까? – echristopherson