如何对options_for_select散列进行排序?
问题描述:
我有这样的事情:如何对options_for_select散列进行排序?
options_for_select({ "1 - optimal" => 1, "2 - ausreichend" => 2, "3 - verbesserungsfähig" => 3, "4 - nicht ausreichend" => 4, "5 - gar nicht" => 5})
Rails不输出这些条目进行排序。我如何才能实现选择字段进行数字排序?
答
我相信Ruby1.9,这会按照你的意图工作(哈希保留它们的插入顺序),所以如果使用1.9是一个选项,那么你就完成了。
否则,你可以使用数组,而不是一个哈希:
options_for_select([["1 - optimal", 1], ["2 - ausreichend", 2], ..., ["5 - gar nicht", 5]])
谢谢,仅此而已。除了代码中被遗忘的圆括号外。你能否纠正这个后世? ;-) – 2011-02-09 21:18:53