我有一個會員資格數組。在每個成員中是一個組。我需要按照組的名稱對這個成員資格數組進行排序。我嘗試了很多不同的方法,最新的方法是:如何在Ruby中按字母順序排序使用sort_by?
@memberships.sort_by! { |m| m.group.name }
但是,這並不按名稱排序。它似乎是隨機排列數組。
- 會員belongs_to的:組
- 組的has_many:成員身份
@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排序數組,所以也許它與按字母順序排序有關?
任何幫助將不勝感激。
當系統允許你時,給自己一個答案。 – 2012-07-17 22:28:03
會做。還得等待一天...... – 2012-07-18 14:38:22
落差是要走的路+1 – earlonrails 2013-03-26 21:35:31