AnA*_*ice 63 ruby ruby-on-rails ruby-on-rails-3
在我的rails应用程序中,我正在创建一个这样的数组:
@messages.each do |message|
@list << {
:id => message.id,
:title => message.title,
:time_ago => message.replies.first.created_at
}
end
Run Code Online (Sandbox Code Playgroud)
在制作这个数组之后,我想通过time_ago ASC命令对它进行排序,这可能吗?
Mik*_*wis 133
@list.sort_by{|e| e[:time_ago]}
Run Code Online (Sandbox Code Playgroud)
它默认为ASC,但是如果你想要DESC,你可以这样做:
@list.sort_by{|e| -e[:time_ago]}
Run Code Online (Sandbox Code Playgroud)
此外,您似乎正在尝试构建列表@messages.你可以简单地做:
@list = @messages.map{|m|
{:id => m.id, :title => m.title, :time_ago => m.replies.first.created_at }
}
Run Code Online (Sandbox Code Playgroud)
grz*_*zuy 11
你可以这样做:
@list.sort {|a, b| a[:time_ago] <=> b[:time_ago]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88380 次 |
| 最近记录: |