ruby-on-rails - Rails:使用 Decoder::Countries[:US].states 使用美国各州和缩写填充选择列表

标签 ruby-on-rails ruby arrays sorting hash

大家晚上好

我正在尝试使用 Decoder::Countries 在我的 Rails View 中动态填充 select_tag 调用以生成列表。我的问题是我无法获得以我需要的格式出现的选项。

语法:

Decoder::Countries[:US]

以以下格式返回美国各州的散列值:

"AL" => "Alabama"

所以在 View 中,这样做:

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 会将散列转换为数组。我怎样才能让它显示我需要的输出,或者我是否需要以某种方式将其备份到 Controller 中?

谢谢。

最佳答案

反转哈希有效吗?

select_tag :tag_name, options_for_select(Decoder::Countries[:US].states.invert)

关于ruby-on-rails - Rails:使用 Decoder::Countries[:US].states 使用美国各州和缩写填充选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696402/

相关文章:

mysql - 2 个 HTTP 请求同时检查记录是否存在,如果不存在则创建它 = 重复记录

ruby-on-rails - 设计字段上的错误消息

javascript - JSON 编码的多维数组返回错误的语法(意外的])

ruby-on-rails - Rails 自定义插件/带有 Partials 的 Gem

sql - 优化检索一段时间内项目计数的 SQL 查询

ruby-on-rails - 如何在没有初始化方法的情况下在 ActiveRecord 中创建对象?

java - 如何在java中按元素数量对2D字符串数组进行排序

ruby-on-rails - ruby on rails - rack-cors 具有不同资源的多个来源

ruby-on-rails - Rails 复杂表单使用关联一次编辑多个记录

c - 如何声明具有 volatile 元素的静态数组?