我正在使用命名范围来尝试查找1个月前制作的记录,这是我的代码:
scope :six, -> {:conditions["records.created_at > ?", 1.month.ago]}
电话:
@sixmonths = human.human_logins.six
虽然我似乎收到以下错误:
`can't convert ActiveSupport::TimeWithZone into Intege`r
这是在范围行上发生的。
我是新手,所以不确定我应该怎么做,任何想法都会很棒。
答案 0 :(得分:2)
我不熟悉:conditions
方法,但语法:conditions[]
和异常表明它正在尝试将表达式计算为数组。
如果您只想要在1个月前创建的记录,请使用以下内容:
scope :six, -> { where(created_at: 1.month.ago) }
如果您想要一个多月前创建的记录(您的查询语法建议),请使用:
scope :six, -> { where("created_at > ?", 1.month.ago) }