私はPhoto
モデルオブジェクトの長い配列を持っています。created_at
で並べ替え、最初に21個の写真で新しい配列を取得します。Ruby/rail sort_byは正しく注文されていませんか?
私の問題は、最終アレイが正しく注文されていないことです。ここで
は私のコードです:私はプリントアウトしたときに
@recent_photos = photos.sort_by(&:created_at).reverse.first(21)
@recent_photos
created_at
値は次のように命じています
1458948707
1458943713
1458947042
1458945171
...
オブジェクトをソートする正しい方法は何ですか?
UPDATE:ここ
は、初期リストがコンパイルされる方法は次のとおりです。
photos = @user.photos
@following = @user.following
@following.each do |f|
photos += f.photos if f.id != @user.id
end
@user.memberships.each do |group|
photos += group.photos
end
SOLUTION:
問題質問していました - 私はtimestamp
ないcreated_at
でソートしたい、そして、それらのあったtimestamp
出力の値
ソートは私が見ることのできるところからはうまくいくはずです、あなたの '' created_at''はどのクラスタイプですか? –
idk、それはRailsによって自動生成されましたが、その文字列が問題の可能性がありますか? – Cbas
'' photos.map(&:created_at).first(21) ''を実行して貼り付けることができますか?あなたのソートは、私が何かを紛失していない限り、間違いなく正しい順序でなければなりません。 –