0
通过属性的对象数组排序我有对象红宝石 - 按降序排列
"students": [{
"id": 1,
"first_name": "John",
"last_name": "Doe",
"age": "14",
}, {
"id": 2,
"first_name": "Victoria",
"last_name": "Secret",
"age": "9",
}, {
"id": 3,
"first_name": "Jim",
"last_name": "Morrison",
"age": "16",
}, {
"id": 4,
"first_name": "Jack",
"last_name": "Daniels",
"age": "7",
},
}]
我想在我的index.html.erb
通过年龄排序在DESC为了显示他们的这个JSON数组。我在那里一半,我已经设法排序他们,但不是在确切的DESC顺序。这是我的循环
<% @classroom['students'].sort_by { |st| st['age'] }.each do |student| %>
这是我想要的结果:
16, Jim, Morrison
14, John, Doe
9, Victoria, Secret
7, Jack, Daniels
这是我所得到的,而不是:
14, John, Doe
16, Jim, Morrison
7, Jack, Daniels
9, Victoria, Secret
正确的,也有斑点!还有一个问题,如果这是好的。是否认为在我的视图中有'sort_by'块被认为是最好的做法,然后附加'.each'来循环对象,或者有更好的方法来做到这一点?只是为了更好的可读性 – Lykos
我要离开了'sort_by'东西的动作,并在视图只是'@students.each do' – Ursus
对不起只是一个问题。每个学生都有一个出生日期属性,例如'1997-09-26T10:40:00.000 + 01:00',如何将日期转换为人类可读格式?我试图'<%=学生[ 'DOB']的strftime( '%D-%间 - %Y,%H:%M')%>',但是这破坏了代码 – Lykos