私は会員制の配列を持っています。各メンバーシップにはグループがあります。このメンバーシップの配列をグループの名前で並べ替える必要があります。いろいろな方法を試しましたが、最新の方法は次のとおりです。
@memberships.sort_by! { |m| m.group.name }
ただし、これは名前順ではありません。配列をランダムにソートしているようです。
- メンバーシップの所属先:グループ
- グループ has_many :memberships
@memberships は次のようになります。
[
{
id: 2141,
user_id: 491,
group_id: 271,
member_type: "member",
group: {
id: 271,
name: "Derek's",
privacy: "open",
bio_image_url: "/bio_images/medium/missing.png?1340285189",
member_count: 1,
upcoming_checkins_count: 0
}
},
{
id: 2201,
user_id: 221,
group_id: 291,
member_type: "member",
group: {
id: 291,
name: "Rounded Developement",
privacy: "closed",
bio_image_url: "/groups/medium/291/bioimage.jpg?1340736175",
member_count: 7,
upcoming_checkins_count: 0
}
}
]
注: これは機能します --> @memberships.sort_by! { |m| m.group.id}
group.id に基づいて配列を並べ替えるので、アルファベット順の並べ替えと関係があるのでしょうか?
どんな助けでも大歓迎です。