这是我的代码:
@statuses = []
current_user.friends.each do |f|
@statuses = @statuses + f.statuses
end
@sorted_statuses = @statuses.sort_by { |obj| obj.created_at }
我从数据库中取出了所有朋友的状态并将它们放在墙上。 我试图从新的(在顶部)到旧的(在底部)显示它们,现在买它反之亦然。请让我知道如何更改它。
答案 0 :(得分:6)
无需预先声明数组,也无需在另一行上发布进程。订购可以通过数据库完成。红宝石的方式是:
@statuses = current_user.friends.order('created_at DESC').collect {|f| f.statuses}
答案 1 :(得分:0)
您甚至可以使用default_scope
class Person < ActiveRecord::Base
default_scope order('last_name, first_name')
end