У меня есть 3 модели: гонки, результаты и спортсмены. У Атлетов много результатов, у Рас много результатов, и результаты принадлежат как спортсменам, так и расам. У меня также есть Результаты в качестве вложенного атрибута Рас. Вот моя частичная форма для добавления результатов в существующую гонку.
<%= form_for(@race) do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :date %><br />
<%= f.datetime_select :date %>
</div>
<% f.fields_for :results do |r| %>
<div class="field">
<%= r.label :position %><br />
<%= r.text_field :position %>
<%= r.label :athlete_id %><br />
<%= r.text_field :athlete_id %>
</div>
<% end %>
Как видите, мне приходится вручную вводить позицию каждого спортсмена и его соответствующие идентификаторы, что является настоящей болью. Я хотел бы иметь позицию в качестве скрытого поля и просто ввести имя спортсмена вместо целого числа id. Когда я вписываю имя спортсмена в текстовый ввод, как я могу вместо этого ввести его в базу данных как athlete_id?