だから私はそのような関係を作りました:
Class Business
include MongoMapper::Document
key :published_review_ids , Array , typecast: 'BSON::ObjectId'
many :published_reviews , class: Review , in: :published_review_ids
end
私はpublished_review_idsを使用してレビューの並べ替え順序を維持し、これによりレビューを配列内で上下に移動します。
したがって、Business.first.published_review_idsにアクセスすると、すべてのIDが適切な順序で表示されます。Business.first.published_reviewsにアクセスすると、一連のレビューが返されますが、デフォルトの順序(生成時間)で並べ替えられます。
この関連付けに、基になっている配列の順序に基づいて常に並べ替えるように指示する方法はありますか?
ちなみに、array.firstとarray.lastは、返されたBusiness.first.published_reviewsの配列では正しく機能していないようです。動作の例をいくつか示す要点は次のとおりです。https ://gist.github.com/09c9a0a23dc67f30a76d