0

皆さん、こんばんは

Person、Trainer、Sportsman、および Index の 4 つのスキャフォールドを生成しました。

class Person < ActiveRecord::Base
  attr_accessible :alter, :name
end

class Sportler < Person
   belongs_to :trainer
end

class Trainer < Person
  has_many :sportler
end

次に、1 つのフォームを作成しました: views/index/index.html.erb

<table>
  <tr>
      <td>Trainer</td>
      <td>
        trainers = Trainer.find(:all)


        <% @trainers.each do |trainer| %>

          puts "print Results in <select> as Options"
          <select name="trainer">
              </option>Max Musterman</option>
          </select>

        <% end %>

      </td>

      <td>
        <%= link_to 'Neuer Trainer', new_trainer_path %>
      </td>

    <tr>
    <tr>
      <td>Sportler</td>
      <td>
<!--
 <% @sportlers.each do |sportler| %>
       <select name="sportler">
       </select>
 <% end %>
-->
      </td>
      <td>
        <%= link_to 'Neuer Sportler', new_sportler_path %>
      </td>
    <tr>
    <tr>
      <td></td>
      <td></td>
      <td><input type="button" name="trSpAdd" value="Hinzufügen"></td>
    <tr>


</table>

次に、Trainer と Sportman を DropDown に追加します。トレーナー1名につき、スポーツマン1体以上を所持することができます。1 人のスポーツマンは 1 人のトレーナーを持つことができます。これは、フォームを使用する際に考慮する必要があります。どうすればこれを解決できますか。*

私の始まりはこれです.Trainer行をクエリしてドロップダウンに入れます:

    trainers = Trainer.find(:all)


    <% @trainers.each do |trainer| %>

      puts "print Results in <select> as Options"
      <select name="trainer">
          </option>Max Musterman</option>
      </select>

    <% end %>
4

1 に答える 1

0

次のように、FormTagHelper の select_tag を使用する必要があります。

select_tag "trainer", options_from_collection_for_select(@trainers, "id", "name")
于 2013-02-09T22:21:30.000 に答える