Tengo una variedad de membresías. En cada membresía es un grupo. Necesito ordenar esta matriz de membresías por el nombre del grupo. Lo he intentado de varias maneras, y la última es la siguiente:¿Cómo se ordena una matriz alfabéticamente utilizando sort_by en ruby?
@memberships.sort_by! { |m| m.group.name }
Sin embargo, esto no ordena por su nombre. Parece estar ordenando al azar la matriz.
- membresía belongs_to: Grupo
- has_many Grupo: Miembros
@memberships es igual a:
[
{
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
}
}
]
NOTA: Esto funciona -> @ memberships.sort_by! {| m | m.group.id}
Ordenará la matriz en función del group.id, por lo que tal vez tenga algo que ver con la ordenación alfabética.
Cualquier ayuda sería muy apreciada.
Concédete la respuesta cuando el sistema te lo permita. –
Haré. Todavía tengo que esperar un día ... –
Downcase es el camino a seguir +1 – earlonrails