Вы можете взять набор умений и просто сделать .sort
Итак, если у вас был персонаж, где @character.skills
было:
@character.skills
=> ["Archery", "Magic", "Sneak", "Combat", "Healing", "Repair", "Fishing"]
Вы могли бы сделать:
@sorted_skills = @character.skills.sort
=> ["Archery", "Combat", "Fishing", "Healing", "Magic", "Repair", "Sneak"]
Выполнение этого задает sorted_skills
естественно упорядоченному набору умений, но НЕ меняет первоначальный порядок @character.skills
.Однако, если вы вместо этого вызываете @character.skills.sort!
(обратите внимание на !
), он БУДЕТ отсортировать и навсегда изменить порядок массива в @ character.skills (по крайней мере, пока эта переменная не выйдет из области видимости)..sort!
никоим образом не изменяет модель или данные в базе данных.
Вы также можете .sort
любой массив, скажем, целые числа, и Ruby рассортирует их интеллектуальным способом.Это даже больше, чем это, но похоже, что это должно удовлетворить ваши потребности.
Документация по Ruby для класса Array