首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果JSON中有两个或多个相同的周号,则返回最后一个week_number

如果JSON中有两个或多个相同的周号,则返回最后一个week_number
EN

Stack Overflow用户
提问于 2014-03-31 08:03:29
回答 1查看 44关注 0票数 0

如果在JSON中有两个或多个相同的周号,则返回最后一个week_number。看这个例子。谢谢。

方法在控制器中。

代码语言:javascript
复制
def all
  @weekly_updates = current_user.user_updates.latest.offset(params[:offset] || 0)
end

方法在计算周数的模型中:

代码语言:javascript
复制
class UserUpdate < ActiveRecord::Base
  def week_number
    return 1 unless user.first_program_started_at.present?
    (((created_at.utc) - user.first_program_started_at.utc.beginning_of_day) / 86400 / 7).ceil.to_i || 1
  end
end

杰森:

代码语言:javascript
复制
json.weekly_updates @weekly_updates do |j1,  weekly_update|
  j1.week_number weekly_update.try(:week_number)
end

示例:

代码语言:javascript
复制
"weekly_updates":
[
  {
    "id":25392,
    "created_at":"2014-03-21T10:13:54+04:00",
    "week_number":2
  }
  ,
  {
    "id":25393,
    "created_at":"2014-03-20T23:59:59+04:00",
    "week_number":2
  }
  {
    "id":25394,
    "created_at":"2014-03-26T23:59:59+04:00",
    "week_number":3
  }
]

应该能拿到这个。

代码语言:javascript
复制
"weekly_updates":
[
  {
    "id":25393,
    "created_at":"2014-03-20T23:59:59+04:00",
    "week_number":2
  }
  {
    "id":25394,
    "created_at":"2014-03-26T23:59:59+04:00",
    "week_number":3
  }
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-01 19:31:26

我刚碰到这个,它在我的测试中起了作用:

代码语言:javascript
复制
def all
  @weekly_updates = current_user.user_updates.maximum(:id, :group => week_number)
end

(但它将week_number作为实际行)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22756441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档