我試圖按照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