has_many и accept_nested_attributes_for с вложенными формами и jquery / ajax

0

Я пытаюсь создать вложенную форму, где есть кнопка "+", которая добавляет поля через 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?

Надеюсь, я поняла...

  • 1
    Если я правильно понял ваш вопрос, это 2 части эпизода RailsCast именно то, что вы ищете.

1 ответ

1

Посмотрите на этот камень.
Я думаю, это то, что вы ищете
https://github.com/nathanvda/cocoon

Ещё вопросы

Сообщество Overcoder
Наверх
Меню