2013-12-13 5 views
0

Я пытаюсь создать вложенную форму, где есть кнопка «+», которая добавляет поля через jquery и ajax. Я делаю это, добавляя шаг сразу, поэтому до сих пор я могу добавить простой текст, нажимая кнопку «+», но, как я уже сказал, я хочу добавить некоторые поля.has_many и accepts_nested_attributes_for с вложенными формами и 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][email protected], 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 часть [эпизодов] (http://railscasts.com/episodes/196-nested-model-form-part- 1) RailsCast - именно то, что вы ищете. – AbM

ответ

Смежные вопросы