愚蠢的问题,但我在任何地方都找不到答案,我自己试图解决这个问题的任何尝试迄今为止都没有结果。
这是密码我创建一个数组。然后在一个循环中,我创建了几个对象并将它们插入到数组中。然后,我尝试根据属性“date”进行排序。然后我打印测试。这一切都是可行的,但对于排序:
<% @subject.list_people.each do |people| %>
<% people.people_family.each do |family| %>
<% family.find_friends.each do |friends| %>
myObj = {}
<% myObj['name1'] = people['name'].first %>
<% myObj['name2'] = family['name'].first %>
<% myObj['date'] = friends['date'].first %>
<% myArray << myObj %>
<% end %>
<% end %>
<% end %>
<% myArray = myArray.sort_by! { |obj| obj['date'] } %> //Sort the list based on field date
<% myArray.each do |myObj| %>
<i><%= myObj['date'] %></i>
<% end %>
我想先打印出最新日期的物品。但是,无论我做什么更改,都不会修改我的数据打印顺序。如何在此日期字段上订购?
1条答案
按热度按时间3mpgtkmj1#
因为你需要从最近的对象开始,你需要反转你的数组:
在Ruby中,较新的日期大于较不新的日期: