Как динамически установить атрибут «имя» простого ввода формы

Я использую Simple Form в приложении Rails, в котором контроллер FormsController был определен следующим образом:

class FormsController < ApplicationController
  def index
      @forms = Form.all
  end

  def new
    @form = Form.new(form_params)
  end

  ...

  private
    def form_params
      params.require(:form).permit(:user, :name, :tag, :link, :repo)
    end
end

Представление new используется для получения некоторых входных данных от пользователя.

<div class="form">
  <%= simple_form_for @param do |f| %>
    <div class="form-inputs";>
      <%= f.input :user %>
      <%= f.input :name %>
      <%= f.input :tag %>
      <%= f.input :link %>
      <%= f.input :repo %>
    </div>
    <div class="form-actions">
      <%= f.button :submit, "Create", class: "btn-primary" %>
    </div>
  <% end %>
</div>

Я проверил, какое имя сгенерировано для каждого поля, используя inspect :

<input type="text" name="form[user]" id="form_user">

Печать параметров в контроллере при отправке формы возвращает:

{“user”=>”value1”, “name”=>”value2”, “tag”=>”value3”, “link”=>”value4”, “repo”=>”value5”}

С этого момента я хотел бы дублировать эту простую форму несколько раз. Итак, сначала я обновил имя поля с form[<parameter>] на form[1][<parameter>].

   <div class="form-inputs";>
      <%= f.input :user, input_html: { name: 'form[1][user]' } %>
      <%= f.input :name, input_html: { name: 'form[1][name]' } %>
      <%= f.input :tag, input_html: { name: 'form[1][tag]' } %>
      <%= f.input :link, input_html: { name: 'form[1][link]' } %>
      <%= f.input :repo, input_html: { name: 'form[1][repo]' } %>
    </div>

Теперь я получаю вывод параметров:

"form"=>{"1"=>{"“user”"=>"value1", "“name”"=>"value2", "“tag”"=>"value3", "“link”"=>"value4", "“repo”"=>"value5"}}

Как лучше всего динамически выделить идентификатор form[<id>][user] в поле?

Можно ли получить параметры в следующем формате?

form => { 1 => {user: "user1" }, 2 => {user: "user2" }, 3 => {user: "user3" }.. }
form => { 1 => {name: "name1" }, 2 => {name: "name2" }, 3 => {name: "name3" }.. }
...

person ogs    schedule 15.06.2020    source источник
comment
Это может быть то, что вы ищете: stackoverflow.com/questions/38191501/   -  person ricks    schedule 16.06.2020
comment
О каком id вы говорите? Объект, который вы создаете, или объект в другой модели?   -  person scilence    schedule 16.06.2020