1

入力フィールドと他のテーブルからのデータを含むドロップダウン ボックスを含むフォームがあります。(結合)しかし、今は送信すると良いのですが、フィールドを編集したいとき、ドロップダウンフィールドは空ですが、テキストフィールドはそうではありません

私のフォームコード:

<%= form_for @contracten, :html => { :multipart => true } do |f| %>
  <% if @contracten.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@contracten.errors.count, "error") %> prohibited this contracten from being saved:</h2>

      <ul>
      <% @contracten.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>
  <div id="forms">
  <div class="field">
    <%= f.label :naam %><br />
    <%= f.text_field :naam %>
  </div>
  <br>
  <div class="field">
    <%= f.label :omschrijving %><br />
    <%= f.text_area :omschrijving %>
  </div>
  <br>
  <div class="field">
    <%= f.label :organisatie %><br />
    <%= f.select :organisatieid, options_for_select(@organisaties.map{ |f| [f.naam, f.id] }), :include_blank => true %>
  </div>
  <br>
  <div class="field">
    <%= f.label :vestiging %><br />
    <%= f.select :vestigingid, options_for_select(@vestigingens.map{ |f| [f.naam, f.id] }), :include_blank => true %>
  </div>
  <br>
  <div class="field">
    <%= f.label :Beheerder %><br />
    <%= f.select :persoonid, options_for_select(@personen.map{ |f| [f.naam, f.id] }), :include_blank => true %>
  </div>
  <br>
  <div class="field">
    <%= f.label :contractsoort %><br />
    <%= f.select :contractsoortid, options_for_select(@contractsoorten.map{ |f| [f.naam, f.id] }), :include_blank => true %>
  </div>
  <br>
  <div class="field">
    <%= f.label :datumingang %><br />
    <%= f.datetime_select :datumingang %>
  </div>
  <br>
  <div class="field">
    <%= f.label :datumeinde %><br />
    <%= f.datetime_select :datumeinde %>
  </div>
  <br>
  <div class="field">
    <%= f.label :contractduur %><br />
    <%= f.number_field :contractduur, :placeholder => 'in jaren' %>
  </div>
  <br>
  <div class="field">
    <%= f.label :opzegtermijn %><br />
    <%= f.number_field :opzegtermijn, :placeholder => 'In Maanden' %>
  </div>
  <br>
  <div class="field">
    <%= f.label :betalingsperiode_eenheid_id %><br>
    <%= f.select :betalingsperiodeeenheidid, options_for_select(@betalingsperiodeeenhedens.map{ |f| [f.omschrijving, f.id] }), :include_blank => true %>
  </div>
  <br>
  <div class="field">
    <%= f.label :betalingstermijn %><br />
    <%= f.number_field :betalingstermijn %>
  </div>
  <br>
  <div class="field">
    <%= f.label :pdf %><br />
    <%= f.file_field :pdf %>
  </div>
  <br>
  <div class="actions">
    <%= f.submit "Toevoegen", :class => 'button3' %>
  </div>
  </div>
<% end %>
<br>

スクリーンショット: ドロップダウンとテキストエリアのあるフォーム

誰かが何が問題なのか知っていることを願っています。

4

1 に答える 1

4

パラメータに を追加:selected => ...options_for_selectます。

例えば:

<%= f.select :contractsoortid, 
             options_from_collection_for_select(@contractsoorten, 'id', 'naam',
                                               :selected => @contracten.contractsortid), 
             :include_blank => true %>

変更は実際に保存されますが、フォームをレンダリングするときに、実際に選択された値を指定する必要があります。

于 2012-07-12T11:55:10.460 に答える