0
我仍然試圖讓我的表單使用Ryan Bates Nested_fom插件工作。問題是我有一個2級嵌套窗體,當我使用f.link_to_add函數時,它只添加第一級而不是第二級動態...Rails 2級嵌套表單動態添加字段
當我點擊添加鏈接時,它只創建對於嵌套而不是2周連接第二嵌套層次的人1級新線...
爲了您的信息模型是:pinvoices有很多:pinvlines(第一嵌套級)和:pinvlines有許多:法分(第二嵌套級別)。
這裏是主要形式的代碼:
<%= javascript_include_tag 'javascript_pinvlines_fields_new' %>
<%= nested_form_for @pinvoice do |f| %>
<% if @pinvoice.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@pinvoice.errors.count, "error") %> prohibited this pinvoice from being saved:</h2>
<ul>
<% @pinvoice.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :contact %>
<%= f.text_field :contact, :id => 'test' %>
<%= f.label :date_facture %>
<%= f.date_select :date_facture %>
<%= f.label :montant_total %>
<%= f.text_field :montant_total %>
<br />
<br />
<div class="lignes">
<%= f.fields_for :pinvlines %>
</div>
<%= f.link_to_add "Ajouter une ligne", :pinvlines %>
<br />
<p>
<div class="actions">
<%= f.submit %>
</div>
</p>
<% end %>
那麼這裏是部分:
<%= f.label :description %>
<%= f.text_field :description %>
<%= f.label :compte_id %>
<%= f.collection_select(:compte_id, @compte, :id, :nom, {:prompt => "Type de charge"}) %>
<%= f.label :quantite %>
<%= f.text_field :quantite, :class => "ip", :size => 6 %>
<%= f.label :prix_unitaire %>
<%= f.text_field :prix_unitaire, :class =>"ip", :size => 6 %>
<%= f.label :montant_HTVA %>
<%= f.text_field :montant_HTVA, :size => 6 %>
<%= f.link_to_remove "remove" %>
<p>
<%f.fields_for (:lignes) do |b|%>
<%= b.label :journal_id %><br />
<%= b.text_field :journal_id %>
<%= b.label :compte %><br />
<%= b.text_field :compte %>
<%= b.label :compte_id %><br />
<%= b.text_field :compte_id %>
<%= b.label :montant %><br />
<%= b.text_field :montant %>
</p>
<%end%>
控制器看起來像:
def new
@pinvoice = Pinvoice.new
@compte = Compte.find(:all)
1.times do
pinvline = @pinvoice.pinvlines.build
2.times{pinvline.lignes.build}
end
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @pinvoice }
end
end
有一個天才Jquery和rails來幫助我處理這個非常棘手的問題......非常感謝。
我想你沒有答案的原因是因爲大多數人從未使用過nested_form_for。爲什麼不按照舊時尚的方式來做呢?這並不困難。 – drhenner 2011-12-20 14:27:24
感謝您的評論。舊時尚的方式?你的意思是插件的嵌套形式嗎? – Dannoel 2011-12-20 15:08:26
舊的時尚方式只是使用form_for和fields_for – drhenner 2011-12-27 18:55:35