Tworzenie/usuwanie inputów tekstowych w formularzu za pomocą przycisków

Witam,
W moim formularzu chciałbym mieć taką opcję, żeby móc za pomocą przycisków Add I Remove odpowiednio dodawać/usuwać nowe pola tekstowe.
Przy wysyłaniu formularza, zawartość pól tekstowych miałaby być zapisywana (czyli wysłana w postaci parama) do tablicy w której 1 element = 1 pole tekstowe.

Szukając w internecie głównie natknąłem się na rozwiązania w js i jquery, np.tutaj albo tutaj.
ale go w ogóle nie umiem (dlatego ciężko mi zmodyfikować to co znalazłem), więc moje pytanie brzmi
Jak to zmodyfikować aby działało w taki sposób jak napisałem (wysyłanie arraya do paramów)?
albo
Jak to zaimplementować to w Rails?

Na ten moment kod mojej strony z formularzem wygląda tak:

<% provide(:title, t(:creating_task)) %>
<div class="center jumbotron">
    <h2><%= t(:creating_task) %></h2>
<%= form_for(@task, url: new_task_path) do |f| %>
  
  <%= label :text, t(:category) %>
  <%= f.collection_select :category, Category.order(:name),
                                     :id, :name, include_blank: true %>
  
  <%= label :text, t(:file_input) %>
  <%= f.file_field :asset_name %>
  <!-- dodać podgląd -->
  
  <%= label :text, t(:description) %>
  <%= f.text_area :text, class: 'form-control' %>  
  <!-- dodać poprawne wyświetlanie równań -->
  <%= label :form_type, t(:task_type) %>
  
  
  <div>
    <%= label :form_type, t(:multiple_choice) %>     
    <%= f.radio_button :form_type, '1' %>
    <div class="reveal-if-active">
      <%= label :form_type, t(:add_correct_answers) %>
      <!-- dodawanie/usuwanie pól z odpowiedziami --> 
      <%= label :form_type, t(:add_wrong_answers) %>
    </div>
  </div>
  <div>
    <%= label :form_type, t(:fill_gap) %>
    <%= f.radio_button :form_type, '2' %>
    <div class="reveal-if-active">
      <%= label :form_type, t(:add_coefficients) %>
      <!-- dodawanie/usuwanie współczynników równania -->  
    </div>
  </div>
  
  <%= label :score, t(:score) %>    
  <%= f.number_field :score, :value => 1 %>
  
  <%= f.submit t(:create), class: "btn btn-lg btn-primary" %>    
<% end %>

Może zobacz: cocoon

1 Like

Nie wiem czy dobrze rozumiem, ale to jest forma z użyciem dodatkowego modelu tak?
Ja nie chcę używać dodatkowego modelu.

Mam model który zawiera kilka zmiennych, jedną z nich jest :array[ ]
I do tego arraya, chcę zapisywać zmienne z text_field’ów.

Tak że
text_field_1: ‘Odpowiedź nr 1’
text_field_2: ‘Odpowiedź nr 2’

Tak, żeby można było sięgnąć po params[ :model ][ :array[ ] ]
przykładowo
x = params[ :model ][ :array ]
x = [‘Odpowiedź nr 1’, ‘Odpowiedź nr 2’]