我有一系列会员资格。每个成员都是一个组。我需要按组名对这个成员资格数组进行排序。我尝试了很多不同的方法,最新的方法是这样的:
@memberships.sort_by! { |m| m.group.name }
但是,这不是按名称排序的。它似乎是随机排序数组。
- 成员属于_to :group
- 组 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.group.id }
它将根据 group.id 对数组进行排序,所以它可能与按字母顺序排序有关?
任何帮助将非常感激。