有人可以帮助选择帮手,因为我是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>
我希望结果为苹果
答案 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"]] })