我试图按照desc顺序对数组进行排序,但一直在这样做。rails,按排序的属性对数组排序
我有...
microposts = Micropost.from_users_followed_by(self)
pub_messages = PubMessage.find_pub_messages_for(self.id)
(microposts + pub_messages).sort! { |a,b| a[:time_ago] <=> b[:time_ago] }
但最后一行返回升序排列的一切。做
.reverse
修复它,但我听说这样做效率不高。我试图做
(microposts + pub_messages).sort! { |a,b| -a[:time_ago] <=> -b[:time_ago] }
,但它给出了一个错误,它无法找到 - 我想
(microposts + pub_messages).sort! { |a,b| b[:time_ago] <=> a[:time_ago] }
@
,但它并没有改变,要么(我换B和A周围)。我究竟做错了什么?在此期间,当我这样做的方法
find_pub_messages_for and from_users_followed_by
我做我的模特像
default_scope order: 'pub_messages.created_at DESC'
default_scope order: 'microposts.created_at DESC'
当我找回它们。然而,这是一种浪费?因为在年底,即时通讯将它们分类基础上再次都微观柱和pub_messages作为线
(microposts + pub_messages).sort! { |a,b| a[:time_ago] <=> b[:time_ago] }
感谢了一堆见过!
我忘了提为我工作,我想这样做太多,但它似乎并没有改变任何东西。它仍然在按顺序 – Sasha
谢谢!寻求帮助! – Sasha