我的Article
模型中的方法中有两个完全不同的类,“Comment
”和“User
”。我正在尝试按降序created_at
顺序排序所有这些。到目前为止,我能够实现的最好的方法是按降序获取数组的一个类中的对象,然后按降序跟随其他类对象。我希望created_at
按顺序整合所有这些对象,而不是单独订购。
我一直在浏览,而且我遇到了一些“假设的”解决方案,其中没有一个是优雅的。这是我尝试过的一个例子 - (Order array. undefined method `order' for Array. Convert array into hash?) -
def follow_feed
objects = Article.from_followed_users(self) + Comment.from_followed_users(self)
objects = objects.sort_by(&:created_at)
objects = objects.reverse if sort_direction == 'DESC'
end
然后定义 - (来自链接) -
def sort_direction
%w[asc desc].include?(params[:direction]) ? params[:direction] : "asc"
end
from_followed_users(self)
是各自类别中定义的范围。必须有一个我尚未找到的简单,有效的解决方案。有人知道吗?