如果在JSON中有两个或多个相同的周号,则返回最后一个week_number。看这个例子。谢谢。
方法在控制器中。
def all
@weekly_updates = current_user.user_updates.latest.offset(params[:offset] || 0)
end方法在计算周数的模型中:
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杰森:
json.weekly_updates @weekly_updates do |j1, weekly_update|
j1.week_number weekly_update.try(:week_number)
end示例:
"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
}
]应该能拿到这个。
"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
}
]发布于 2014-04-01 19:31:26
我刚碰到这个,它在我的测试中起了作用:
def all
@weekly_updates = current_user.user_updates.maximum(:id, :group => week_number)
end(但它将week_number作为实际行)
https://stackoverflow.com/questions/22756441
复制相似问题