查找1个月前的记录

时间:2015-04-04 16:38:42

标签: ruby-on-rails

我正在使用命名范围来尝试查找1个月前制作的记录,这是我的代码:

scope :six, -> {:conditions["records.created_at > ?", 1.month.ago]}

电话:

@sixmonths = human.human_logins.six

虽然我似乎收到以下错误:

`can't convert ActiveSupport::TimeWithZone into Intege`r

这是在范围行上发生的。

我是新手,所以不确定我应该怎么做,任何想法都会很棒。

1 个答案:

答案 0 :(得分:2)

我不熟悉:conditions方法,但语法:conditions[]和异常表明它正在尝试将表达式计算为数组。

如果您只想要在1个月前创建的记录,请使用以下内容:

scope :six, -> { where(created_at: 1.month.ago) }

如果您想要一个多月前创建的记录(您的查询语法建议),请使用:

scope :six, -> { where("created_at > ?", 1.month.ago) }