У меня есть несколько интересных затруднений. У меня есть поле :ingredients
, которое я использую, чтобы получить пользовательский ввод для ингредиента. Каждый ингредиент принадлежит к рецепту, который является form_for
(:ingredients
является field_for
). Однако пользователь должен иметь возможность вводить несколько ингредиентов, неограниченное количество. Прямо сейчас я реализовал функциональность для добавления одного ингредиента, как показано здесь:
<%= form_for(:recipe, :url => {:action => 'create'}) do |f| %>
<%= fields_for :ingredient do |i| %>
<%= i.text_field(:quantity, :size => '6', :maxlength => '6') %>
<%= i.text_field(:units, :size => '20', :maxlength => '20') %>
<% end %>
<% end %>
Чтобы упростить вещи, я собираюсь отменить неограниченное требование, которое я сделаю позже с AJAX, и предположу, что пользователь только вводит максимум 20. Я запутался в том, как проектировать мои form_for
чтобы сделать это, и получить доступ к каждому из этих 20 элементов в моем контроллере. Это будет что-то вроде params[:recipe][1...20]
?
Я прочитал этот вопрос:
Как я могу создать несколько экземпляров ассоциированной модели из рельсов 3 form_for, если я не знаю, сколько я собираюсь добавить?
но я все еще застрял, и я хотел бы избежать использования Gems, если это возможно (глупое ограничение, я знаю).