我认为你的问题是,你正在做以下工作:<代码>created_at = ?, 时间_range/code>,时间_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
<>>>>>
Not directly related to the question, but you should place those conditions in scopes with semantic meaning so you would have Feed.from_last_month
and something like Feed.not_with_ids([1,2,3])
问 问 题
Feed.from_month.not_with_ids([1,2,3]).count
关于警告检查的说明