0
我有這樣的陣列由ActiveRecord的查詢返回:紅寶石數組排序順序
SELECT id, value FROM table ORDER BY value DESC
[1054, 86], [1062, 86], [1059, 84]
而且我已經創建了一個簡單的陣列與第一陣列進行比較:
array.sort_by! {| object | object.access_count}} .reverse
但是,當我比較兩個數組的結果是不同的:
activerecord => [1054, 86], [1062, 86], [1059, 84]
array.sort_by! => [[1062, 86], [1054, 86], [1059, 84]
因此,在某些情況下,比較不工作,因爲ActiveRecord的一個排序方式sort_by!排序另一個。
我該如何解決這個問題? 謝謝。
你試圖通過比較兩者來實現什麼?你能解釋一下嗎? @ gui12344455 –
是的,我使用rspec來測試我的代碼,一個測試是驗證返回的數據是否正確排序。 – gui12344455
所以你正在嘗試測試活動記錄的'訂單'方法。實際上在RSpec中,我們有責任測試我們編寫的代碼。你不需要在這裏測試訂單。如果你需要爲命令編寫測試用例,在規範中你可以做一個類似於'records = Model.only(:id,:name).order(:desc)'的查詢並且像這樣檢查'expected(response_records) .to eq(記錄)' –