Ruby on Rails - выберите опцию помощника - PullRequest
1 голос
/ 15 июня 2011

Может кто-нибудь помочь в выборе помощника, так как я новичок в 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 как

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

где я хочу результат как яблоко

Ответы [ 2 ]

5 голосов
/ 16 июня 2011

Моя проблема была решена с помощью следующего кода, надеюсь, это поможет и другим освежителям RoR

<%= select_tag "fruit", options_for_select(selFruit.map{|fruit,key| [fruit['name'], fruit['id']]}) %>
4 голосов
/ 15 июня 2011

Если вы используете (и вы должны) form_for строитель:

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