2013-05-15 39 views
2

我有一個嵌套的哈希值是這樣的:格式複雜的哈希 - simple_form寶石

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散列成新在這方面Ø我應該在模型中創建散列?

回答

2

你可以這樣說:

Hash[LANGUAGE_DETAILS.map{|k, h| [k, h[:Name]]}]