Я пытаюсь создать вложенную форму, где есть кнопка "+", которая добавляет поля через jquery и ajax. Я делаю это, добавляя шаг сразу, поэтому до сих пор я могу добавить простой текст, нажимая кнопку "+", но, как я уже сказал, я хочу добавить некоторые поля.
У меня есть следующее:
new.html.erb
<h1>New Campaign</h1>
<%= form_for @campaign, html: { multipart: true } do |f| %>
....
<div class="goods">
<%= render "goods/good", f: f, child_index: Time.now.to_i %>
</div>
<div class="actions">
<%= link_to '+', add_good_row_path(params[:campaign]=@campaign, params[:f] = f), remote: true, class: 'btn btn-large btn-success' %>
<%= f.submit 'Crea', class: 'btn btn-large btn-warning' %>
</div>
<% end %>
товары/_good.html.erb
<%= f.fields_for :goods, @campaign.goods.build, child_index: child_index do |good| %>
<%= good.text_field :name, placeholder: 'Nome' %>
<%= good.text_area :description, placeholder: 'Descrizione' %>
<%= good.text_field :cost, placeholder: 'Costo' %>
<% end %>
campaigns_controller.rb
class CampaignsController < ApplicationController
....
def add_good_row
respond_to do |format|
format.js
end
end
end
add_good_row.js.erb
$('.goods').append("hello");
Я думаю, что я понял проблему, это передать переменную f
переменную @campaign
и child_index
для частичного, но как я могу это сделать через jquery?
Надеюсь, я поняла...
Посмотрите на этот камень.
Я думаю, это то, что вы ищете
https://github.com/nathanvda/cocoon