2

次のようなネストされたハッシュがあります。

  LANGUAGE_DETAILS =  {
                       BG: {
                              Name: 'Български',
                              Flag: ''
                           },
                       EN: {
                              Name: 'English',
                              Flag: ''
                           },
                       RU: {
                              Name: 'Руский',
                              Flag: ''
                           },
                       UK: {
                              Name: 'Украински',
                              Flag: ''
                           }
                    }

次のハッシュのようにフォーマットする必要があります。

 {
      BG: 'Български',
      EN: 'English',
      RU: 'Руский',
      UK: 'Украински'
  }

次のように simple_form 入力パラメータとして使用するには:

<%= f.input :language_code, collection: SecurityUser::LANGUAGE_DETAILS,
            label_method: :last,
            value_method: :first,
            as: :radio_buttons , label: 'Choose language' %>

このコンテキストで SecurityUser::LANGUAGE_DETAILS ハッシュを新しいものに変換する方法はありますか、それともモデルで手持ちのハッシュを作成する必要がありますか?

4

1 に答える 1

2

次のように実行できます。

Hash[LANGUAGE_DETAILS.map{|k, h| [k, h[:Name]]}]
于 2013-05-15T22:45:09.397 に答える