Ruby on rails Rails显示按时间戳排序的消息
使用Rails,我有一个“Messages”类,每个类都有一个时间戳,记录消息发送的时间。(创建于) 我想在一个div标记中显示所有这些消息,按时间戳排序,循环如下:Ruby on rails Rails显示按时间戳排序的消息,ruby-on-rails,Ruby On Rails,使用Rails,我有一个“Messages”类,每个类都有一个时间戳,记录消息发送的时间。(创建于) 我想在一个div标记中显示所有这些消息,按时间戳排序,循环如下: <% @messages.each do |message| %> 但是,我不知道如何按照时间戳上创建的消息对它们进行排序。只需查询这些@消息,然后按照创建的属性对它们进行排序: # controller: @messages = Message.order("created_at DESC"
<% @messages.each do |message| %>
但是,我不知道如何按照时间戳上创建的消息对它们进行排序。只需查询这些
@消息
,然后按照创建的属性对它们进行排序:
# controller:
@messages = Message.order("created_at DESC").all
但是,如果您希望在控制器中使用它,则可能是:
# controller:
@messages = Message.all.sort_by(&:created_at)
请记住,sort\u by
链接到all
是一个不好的组合,因为您处理的数据超过了需要的数据量。更喜欢ActiveRecords提供的QueryMethods方法。只需查询这些@消息
,并按属性处创建的对其排序:
# controller:
@messages = Message.order("created_at DESC").all
但是,如果您希望在控制器中使用它,则可能是:
# controller:
@messages = Message.all.sort_by(&:created_at)
请记住,sort\u by
链接到all
是一个不好的组合,因为您处理的数据超过了需要的数据量。更喜欢ActiveRecords提供的QueryMethods方法