繁体   English   中英

Rails 2级嵌套表单动态添加字段

[英]Rails 2 levels nested form dynamically add fields

我仍在尝试使用Ryan Bates Nested_fom插件来使表格正常工作。 问题是我有两个级别的嵌套表单,当我使用f.link_to_add函数时,它仅动态添加第一级,而没有动态添加第二级。

当我单击“添加”链接时,它只会为第一级嵌套创建一个新行,而不会为第二级嵌套的嵌套创建新行...

对于您的信息模型是::pinvoices有很多:pinvlines(第一嵌套级别),:pinvlines有很多:lignes(第二嵌套级别)。

这是主要形式的代码:

<%= 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可以帮助我解决这个非常棘手的问题……非常感谢。

多谢你们。 我终于使用传统的方法完成了此操作:form_for和fields_for

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM