Rails 4: создание нескольких (разных) записей из одной формы

У меня есть форма, которая используется для создания записей моей модели ConsultStat, Я хотел бы иметь возможность вводить несколько записей в одной форме, а затем разделить их на контроллере и сохранить их в базе данных по отдельности.

Я использую jQuery для добавления дополнительных строк в форму. Я копирую все в пределах <div class="form-group"> видно ниже.

Я использую form_tag так как я предполагаю form_for не будет работать (кажется, принимает только последнюю запись, если указано несколько).

форма

<%= form_tag add_multiple_stats_path do %>
    <div class="form-inputs">
    <!-- This section gets replicated with jQuery -->

    <div class="form-group">
        <div class="row">
            <div class="col-md-3">
                <%= label_tag :employee, "Employee" %>
                <%= select("consult_stat", "employee_id", @employees.collect {|p| [ p.name, p.id ] }, {include_blank: true}, style: "width:100%") %>
                <%# input :employee_id, as: :select, collection: Employee.all, label_method: :name, value_method: :id %><br>
            </div>
            <div class="col-sm-1">
                <%= label_tag :consults, "Consults" %>
                <%= number_field_tag :consults, nil, class: "form-input", label: "Consults" %><br>
            </div>
            <div class="col-sm-1">
                <%= label_tag :signed, "Signed" %>
                <%= number_field_tag :signed, nil, class: "form-input" %><br>
            </div>
        </div>
    </div>

    <!-- END section that gets replicated with jQuery -->
    </div>

    <%= submit_tag "Submit Consultation Stats" %>
<% end %>

Маршруты

post "/add_multiple_stats" => "consult_stats#add_multiple_stats", as: :add_multiple_stats

контроллер

def add_multiple_stats
    @employees = Employee.all
    params["consult_stat"].each do |stat|
        puts stat
        # there is only 1 entry showing, even if I submit multiple entries
    end
end

0 ответов

Другие вопросы по тегам