2

私はRubyonRailsの初心者であり、オブジェクトb)のIDを使用してselectをオブジェクトa)に表示しようとしています。

オブジェクトa)関数

オブジェクトb)経験

関数_form.html.erb

<div class="field">
<%= f.label :experience_id %><br />
<%= f.number_field :experience_id %>

テーブルエクスペリエンスのアイテムを表示する選択を作成したいと思います。@エクスペリエンスのすべての要素をループするループだと思いますが、どのようにループするかはわかりません。フォームヘルパーについて読んだことがありますが、啓蒙することはできません。

ありがとうございます

2番目の質問について

どうもありがとうございました。私はあなたが提案したように試しましたが、selectタグの名前がオブジェクトの正しい名前ではなく、そのヘルパーメソッドでどのように配置するのかわかりません。だから私は別のヘルパーで同じことを試し、選択し、成功しました:

オプションa)select_tag:habilidad、options_for_select({"1" => 1、 "2" => 2})

結果のソースコード:

<div class="field">
    <label for="skill_habilidad">Habilidad</label><br />
    <select id="habilidad" NAME="habilidad"><option value="1">1</option>
<option value="2">2</option></select>
  </div>

オプションb)select(:skill、:habilidad、{"1" => 1、 "2" => 2、 "3" => 3、 "4" => 4、 "5" => 5})

結果のソースコード:

<div class="field">
    <label for="skill_habilidad">Habilidad</label><br />
    <select id="skill_habilidad" NAME="skill[habilidad]"><option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option></select> 
  </div>
4

4 に答える 4

2

f.collection_select次の例を使用できます。

<%= f.collection_select :experience_id, Experience.all, :id, :name, :prompt => true %>

参照:RailsApiドキュメント::コレクション選択

于 2012-12-11T21:29:25.683 に答える
2

あなたはこのように使うことができselect_tagますoptions_for_select

<%= select_tag :skills, options_for_select((1..5).to_a.map { |val| [val,val] }) %>

(1..5).to_a変数に置き換えることができます。

参照:http ://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_for_select

于 2012-12-12T20:50:52.240 に答える
1

f.select次の例を使用できます。

<%= f.label :experience_id %><br />
<%= f.select :experience_id, Experience.all.collect {|e| [ e.name, e.id ] }, { :include_blank => true } %>

例として、私e.nameは選択オプションのテキストでしたが、必要な属性に変更する必要があります。

参照: http ://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

于 2012-12-11T20:56:16.953 に答える
0

このコードは私のために働きます

<%= f.select :id, Model.all.collect {|d| [ d.attributeN, d.attributeN ] }, {include_blank: 'None'}, class: 'form-control'%>
于 2016-04-01T18:44:53.183 に答える