晚上好。
我正在尝试使用Decoder :: Countries在我的rails视图中动态填充select_tag调用以生成列表。我的问题是我无法选择以我需要的格式出现。
语法:
Decoder::Countries[:US]
以格式:
返回美国州的哈希值"AL" => "Alabama"
所以在视图中,这样做:
select_tag :tag_name, options_for_select(Decoder::Countries[:US].states.sort)
生成一个如下所示的选择列表:
<select name="tag_name" id="tag_name">
<option value="Alaska">AK</option>
<option value="Alabama">AL</option>
etc...
我需要的是这样输出:
<select name="tag_name" id="tag_name">
<option value="al">Alaska</option>
现在,我知道附加.sort会将哈希变成数组。如何让它显示我需要的输出,或者我需要将它备份到控制器中吗?
感谢。
答案 0 :(得分:4)
反转哈希工作吗?
select_tag :tag_name, options_for_select(Decoder::Countries[:US].states.invert)