Rails 3:使用选项和值的哈希值进行字段选择

时间:2012-09-20 01:23:49

标签: ruby-on-rails

我想将此哈希用作f.select

的文本和值列表

控制器

@asset_status_options = [ { "New - Ordered"    => "0"  },
                          { "New - On Site"    => "10" },
                          { "New - Tested"     => "99" },
                          { "Used - Ordered"   => "1"  },
                          { "Used - On Site"   => "11" },
                          { "Used - Torn Down" => "25" },
                          { "Used - Rebuilt"   => "76" },
                          { "Used - Tested"    => "100"}]

查看

<%= m.select :status, options_for_select(@asset_status_options,"") %>

下拉列表的结果是:

 { "New - Ordered"    => "0"  }
 { "New - On Site"    => "10" }
 { "New - Tested"     => "99" }
 { "Used - Ordered"   => "1"  }
 { "Used - On Site"   => "11" }
 { "Used - Torn Down" => "25" }
 { "Used - Rebuilt"   => "76" }
 { "Used - Tested"    => "100"}

我正在寻找0的值和New-Ordered等的文本。

我认为有点简单,但我该怎么做?

1 个答案:

答案 0 :(得分:0)

您需要:

@asset_status_options = { "New - Ordered"    => "0",
                          "New - On Site"    => "10",
                          "New - Tested"     => "99",
                          "Used - Ordered"   => "1",
                          "Used - On Site"   => "11",
                          "Used - Torn Down" => "25",
                          "Used - Rebuilt"   => "76",
                          "Used - Tested"    => "100" }

或者:

@asset_status_options = [ ["New - Ordered",    "0"],
                          ["New - On Site",    "10"],
                          ["New - Tested",     "99"],
                          ["Used - Ordered",   "1"],
                          ["Used - On Site",   "11"],
                          ["Used - Torn Down", "25"],
                          ["Used - Rebuilt",   "76"],
                          ["Used - Tested",    "100"] ]

有关详细信息,请参阅Rails API