2011-02-08 111 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