Ruby on Rails - 选择选项助手

时间:2011-06-15 18:18:56

标签: ruby-on-rails ruby select helper

有人可以帮助选择帮手,因为我是Ruby On rails的新手。

我有一个json对象如下,

@response = {"status" => "200", "fruit" => [ {
    "id" => 1,
    "name" => "Apple"
  }, {
    "id" => 2,
    "name" => "Mango"
  } ]
}

在帮助器中我返回值“return @response ['rateCard']” 现在我希望这个助手在视图文件中生成这样的代码,这样它就会有像

这样的选择框
<select name='fruit'>
<option value="1">apple</option>
<option value="2" selected>mango</option>
</select>

请帮忙

实际上我有一个帮助者“Fruits_helper.rb”正在返回

def selFruit
    @resp = Fruit.getFruit # this will return @response object as mentioned above

    return @resp['fruit']
end

=============================================== =================================== 所以在我的fruit.html.erb文件中,我有一小段代码如下

<%= form_for(:AdminLogin) do |f| %>
<div>

<%= select_tag "fruit", options_for_select(selFruit.each{|fruit,key| [fruit[key]=>'name',fruit[key]=>'id']}) %>

<div>
<% end %>

=============================================== ============================= 上面的代码给了我o / p as

<select name="fruit" id="fruit">
<option value="id1nameApple">id1nameApple</option>
<option value="id2nameMango">id2nameMango</option>
</select>

我希望结果为苹果

2 个答案:

答案 0 :(得分:5)

我的问题已经通过以下代码解决,希望它也能帮助其他RoR新人

<%= select_tag "fruit", options_for_select(selFruit.map{|fruit,key| [fruit['name'], fruit['id']]}) %>

答案 1 :(得分:4)

如果您使用(并且应该)form_for构建器:

form.select(:fruit, @response["fruit"].map { |f| [f["name"], f["id"]] })