मुझे लगता है कि आपकी समस्या यह है कि आप created_at = ?, time_range
कर रहे हैं, और time_range एक विशिष्ट मान नहीं है, और एक = एक विशिष्ट मान की अपेक्षा करता है। वास्तव में उस त्रुटि के लिए क्यों समझा नहीं सकता है, लेकिन आपको समाधान मिल सकता है।
इस बजाय क्या, मैं इसे करने की कोशिश की और काम करता है महान
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
अद्यतन
नहीं सीधे प्रश्न से संबंधित है, लेकिन आप अर्थ अर्थ के साथ कार्यक्षेत्र में उन परिस्थितियों जगह चाहिए ताकि आपके पास Feed.from_last_month
और Feed.not_with_ids([1,2,3])
और आपकी क्यू के लिए कुछ होगा ry आप
Feed.from_month.not_with_ids([1,2,3]).count
चेतावनी के बारे में विवरण के लिए नीचे दिए गए
स्रोत
2012-05-18 18:59:13
रूबी और रेल के कौन से संस्करण? – echristopherson