所以我正在为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方面这样做,而不是在我们的前端处理一些结果(或没有结果)。谢谢!
答案 0 :(得分:0)
好的,所以这笔交易就是这样。
为了只获取1条记录,您可能需要覆盖/定义自己的分页器,如下所示:
paginator :none
我会将它放在您的属性之后和过滤器之前。凉?凉。接下来,您可以执行基本的Rails查询:
records.where(user_id: user_id, updated_at: ten_minutes_ago..current_time)
.order(id: :desc)
.limit(1)
您需要设置您的分页符,否则默认值或您定义的任何内容都将覆盖您的限制查询。甜。容易。