ActiveRecordアソシエーションからのレコードが予期しない順序で返されるという問題が発生しています。これは今後修正するのに十分簡単ですが、すでに本番環境にある一部のコードは特定の順序を想定しており、私の場合、その順序は重要です-実際、それは重要です。
私は古いものをこの基本的な問題に修正する方法を絞り込みました:「Enumerable#each」が関連付けでActiveRecordレコードの一貫した順序を返すことが保証されている場合、少なくとも私は一貫して壊れているものを扱っていることを知っています仮定、これは修正可能です。それが保証されていない場合、私は馬鹿にされている可能性があります。
したがって、私の質問は、Ruby Enterprise Edition、リリース2011.03では、Enumerable#each
メソッドは、呼び出した場合と同じ順序でEnumerableの要素を返しますかEnumerable#to_a
(で定義された関数Object
githubからREEコードをダウンロードし、このリリースのタグをチェックアウトしました(開発、ステージング、および本番環境で同じバージョンのRubyを使用していることを確認しました)。問題は、Cを読むのが苦手なので、順序は同じだと確信しているとしか言えませんが、Cの読解力はそれほど高くありません。