gpt4 book ai didi

mysql - 使用 Rails 上的 created_at 数据对数组进行排序(使用 sort_by { |x| x.created_at } 它只是保持相同的方式

转载 作者:行者123 更新时间:2023-11-29 22:43:39 26 4
gpt4 key购买 nike

我得到了这个代码:

def user_activity
@array_activity = []
@testannounces = Announce.all
@testchallenges = Challenge.all
@testannounces.each do |x|
@array_temp = []
@array_temp.push x.created_at
@array_temp.push "annonunce"
@array_temp.push x
@array_activity.push @array_temp
end
@testchallenges.each do |y|
@array_temp = []
@array_temp.push y.created_at
@array_temp.push "challenge"
@array_temp.push y
@array_activity.push @array_temp
end
@array_activity.sort_by { |x| x[2].created_at }
end

好吧,通过仅打印 x[2].created_at,它会返回给我这个

<% @array_activity.each do |x| %>
<p><%= x[2].created_at %></p>
<% end %>

2015-03-18 22:52:48 世界标准时间

2015-03-18 22:59:06 世界标准时间

2015-03-19 16:42:41 世界标准时间

2015-03-19 23:20:25 世界标准时间

2015-03-20 15:46:17 世界标准时间

2015-03-23 23:35:43 世界标准时间

2015-03-23 23:37:52 世界标准时间

2015-03-23 23:59:37 世界标准时间

2015-03-23 20:34:43 世界标准时间

(我只有 1 项挑战,如果你注意到的话,它是 2015-03-23 20:34:43 希望早于 2015-03-23 23:59:37 UTC)

有人知道这里会发生什么吗?

最佳答案

sort_by 不会改变接收者。如果您想使用返回值,请将其保存到变量中。

@activity_array = @array_activity.sort_by { |x| x[2].created_at }

或者,您可以使用 bang 版本来修改接收器。

@array_activity.sort_by! { |x| x[2].created_at }

关于mysql - 使用 Rails 上的 created_at 数据对数组进行排序(使用 sort_by { |x| x.created_at } 它只是保持相同的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29222636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com