2011-02-08 86 views
5

我有这样的事情:如何对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不输出这些条目进行排序。我如何才能实现选择字段进行数字排序?

回答

6

我相信Ruby1.9,这会按照你的意图工作(哈希保留它们的插入顺序),所以如果使用1.9是一个选项,那么你就完成了。

否则,你可以使用数组,而不是一个哈希:

options_for_select([["1 - optimal", 1], ["2 - ausreichend", 2], ..., ["5 - gar nicht", 5]]) 
+0

谢谢,仅此而已。除了代码中被遗忘的圆括号外。你能否纠正这个后世? ;-) – 2011-02-09 21:18:53