日々精進

新しく学んだことを書き留めていきます

Rails - ドロップダウンリストの順序

options_for_selectタグを使ってドロップダウンリストを作ったのだけれど、
なぜか意図した順序と違う順序でリストが表示される。
例えば

<%= options_for_select({"Co-ed" =>  "Co-ed", "Men" => "Men", "Women"  
=>  "Women", "Please select student body" => "None"}, "None") %>

上のようにデータを渡すと
Men
Please select student body
Co-ed
Women
という順番で表示される。
調べてみると[Rails] Re: options_for_select and sorting :: ASPN Mail Archive :: ruby-railsに答えがあった。
普通のHashではなくActiveSupport::OrderedHashを使えばいいらしい。ありがとうVishnu!
よく考えたらHashって順序ないんだよね。