我的设置:Rails 3.0.9,Ruby 1.9.2
我有一个全局常量定义
TYPES = { "visa" => "Visa", "master" => "MasterCard" }
我想反转select方法的值,我知道这听起来很傻但是我的代码的另一部分需要这个功能,所以我想弄清楚它是否可行。这是我到目前为止所做的但没有工作
<%= f.select :card_type, TYPES.each { |key, value| [value, key] } %>
答案 0 :(得分:1)
使用invert
内置的Hash
方法:
TYPES = { "visa" => "Visa", "master" => "MasterCard" }
TYPES.invert
# => {"Visa"=>"visa", "MasterCard"=>"master"}
所以:
<%= f.select :card_type, TYPES.invert %>
注意:
:master
"master"
的值将用作TYPES
'ed invert
的键,因此请确保您的值都是唯一的。