如何对options_for_select哈希进行排序?

Ulf*_*ose 5 select ruby-on-rails ruby-on-rails-3

我有这样的事情:

options_for_select({ "1 - optimal" => 1, "2 - ausreichend" => 2, "3 - verbesserungsfähig" => 3, "4 - nicht ausreichend" => 4, "5 - gar nicht" => 5})
Run Code Online (Sandbox Code Playgroud)

Rails不会在输出中对这些条目进行排序.如何实现选择字段的数字排序?

cam*_*cam 6

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

否则,您可以使用数组而不是哈希:

options_for_select([["1 - optimal", 1], ["2 - ausreichend", 2], ..., ["5 - gar nicht", 5]])
Run Code Online (Sandbox Code Playgroud)