【问题标题】:JSONAPI Resources, need a filter for the last recordJSONAPI 资源,需要最后一条记录的过滤器
【发布时间】:2016-09-04 13:39:14
【问题描述】:

所以我正在考虑为 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 端执行此操作,而不是在我们的前端处理大量结果(或没有结果)。谢谢!

【问题讨论】:

    标签: sql ruby-on-rails postgresql json-api jsonapi-resources


    【解决方案1】:

    好的,交易就是这样。

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

    paginator :none
    

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      • 2010-10-27
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多