Вам не нужно вкладывать свои результаты, если они имеют уникальные и автоматически сгенерированные идентификаторы, но вы можете, если считаете, что это облегчает использование или программирование приложения.
Ваша веб-форма, вероятно, должна основываться на сценарии использования 12 спортсменов, которые заняли одну гонку. Это означает, что вы можете использовать несколько входов HTML для каждого из результатов:
<input type="hidden" name="race[results_attributes][][rank]" value="1" />
<input type="text" name="race[results_attributes][][athlete_id]" />
<input type="hidden" name="race[results_attributes][][rank]" value="2" />
<input type="text" name="race[results_attributes][][athlete_id]" />
Затем вы можете изменить модель расы, чтобы принимать входные данные для результатов:
class Race
has_many :results
accepts_nested_attributes_for :results
end
И просто передайте атрибуты в операторе обновления:
Race.find(params[:id]).update_attributes params[:race]