Depois de pesquisar nas interwebs, encontrei uma solução para usar sort_by
quando você precisar classificar por campos múltiplos.
Um exemplo
Eu tenho um modelo Person com 2 campos: first_name e last_name .
Eu quero classificar uma matriz preenchida com modelos de pessoa por último_nome e depois por primeiro_nome .
Bem, não é tão difícil. Apenas retorne um array no sort_by
bloco com os campos que você deseja classificar na ordem em que deseja classificá-los.
people.sort_by do |person|
[person.last_name, person.first_name]
end