0
私はActiveRecordのクエリによって返さこの配列があります。Rubyの配列のソート順
SELECT id, value FROM table ORDER BY value DESC
[1054, 86], [1062, 86], [1059, 84]
をそして、私は最初の配列と比較する単純な配列を作成しました:
array.sort_byを! {|オブジェクト| 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
あなたはActive Recordの 'order'メソッドをテストしようとしています。 RSpecでは、私たちが作成したコードをテストする責任があります。ここで注文をテストする必要はありません。注文のテストケースを書く必要がある場合は、 'records = Model.only(:id、:name).order(:desc)'のようなクエリを作成し、 'expected(response_records) .to eq(レコード) ' –