0

所以我正在考虑为 JSONAPI 资源创建一个过滤器,我将在其中抓取过去 10 分钟内创建的任何内容,如果有内容,则只返回一个结果。

问题,当我在返回的记录上调用 .last(1) 时出现错误:

"exception": "undefined method `order' for #<Array:0x007fde4770bcf0>"

我的不间断查询是这样的:

records.where(user_id: user_id, updated_at: ten_minutes_ago..current_time)

有什么帮助吗?我想在 Rails 端执行此操作,而不是在我们的前端处理大量结果(或没有结果)。谢谢!

4

1 回答 1

0

好的,所以交易是这样的。

为了只获取 1 条记录,您可能必须覆盖/定义自己的分页器,如下所示:

paginator :none

我会把它放在你的属性之后和你的过滤器之前。凉爽的?凉爽的。接下来,您可以进行基本的 Rails 查询:

records.where(user_id: user_id, updated_at: ten_minutes_ago..current_time)
.order(id: :desc)
.limit(1)

您需要设置分页器,否则默认值或您定义的任何内容都会覆盖您的限制查询。甜的。简单的。

于 2016-05-09T22:56:49.310 回答