ハッシュでsort
を呼び出すと、効果的にハッシュをキー/値の配列の配列に変換し、Array#<=>
を使用して並べ替えると、注文が破棄されます。 options_for_select
を経て終了する必要がありpf.select
にどのようなあなたの手:
は、コンテナ(ハッシュ、配列、列挙、あなたのタイプ)を受け入れ、オプションタグの文字列を返します。要素が最初と最後に応答するコンテナ(2要素配列など)が与えられた場合、 "lasts"はオプション値として、 "firsts"はオプションテキストとして機能します。 ハッシュはこのフォームに自動的に変換されるため、キーは「ファースト」になり、値は最後になります。
強調鉱山。
EMPLOYEE_NUM_OPTIONS = [
[ 'Please, select', '' ],
[ '10-50','10-50' ],
[ '51-100', '51-100' ],
[ '101-500', '101-500' ],
[ '501-1999', '501-1999' ],
[ '+2000', '2000' ]
]
へ:
<%= pf.select(:employee_num, GroupProfile::EMPLOYEE_NUM_OPTIONS) %>
をあなたが1.8にいるなら、あなたは、アレイのサブアレイにEMPLOYEE_NUM_OPTIONS
を変更することができます。だから、あなたはRuby 1.9のを使用している場合はこれを言うことができるはずです注文を受け取り、pf.select
に手渡してください。また、ハッシュフォームが必要な場合:
EMPLOYEE_NUM_OPTIONS_HASH = Hash[EMPLOYEE_NUM_OPTIONS]
このトリックを行う必要があります。
また、1.9を使用している場合は、ハッシュを既に注文しているので、この余分な作業はすべて必要ありません。
ありがとうございます。今私はここにフードの下にあるものを理解し、将来混乱しないようにしてください。乾杯!私はruby 1.8を使用しています。 – Yulia