在Ruby on Rails中按日期排序?

ny6fqffe  于 2023-06-22  发布在  Ruby
关注(0)|答案(1)|浏览(106)

愚蠢的问题,但我在任何地方都找不到答案,我自己试图解决这个问题的任何尝试迄今为止都没有结果。
这是密码我创建一个数组。然后在一个循环中,我创建了几个对象并将它们插入到数组中。然后,我尝试根据属性“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 %>

我想先打印出最新日期的物品。但是,无论我做什么更改,都不会修改我的数据打印顺序。如何在此日期字段上订购?

3mpgtkmj

3mpgtkmj1#

因为你需要从最近的对象开始,你需要反转你的数组:

myArray = myArray.sort_by { |obj| obj['date'] }.reverse

在Ruby中,较新的日期大于较不新的日期:

Date.today > Date.today - 2
=> true

相关问题