这是我的小组观点的一部分。我有一个用对象集合渲染的部分列表:
<div id="container">
<ul>
<li id="form"></li>
<li id="partials">
<%= render :partial => 'groups/partial-list-row', :collection => @allpartials, :as => :f %>
</li>
</ul>
</div>
在 ID 为“form”的列表项中,有一个 ruby on rails 表单,它是一个 form_for @newpartial,它在 Partial 控制器中定义为 @newpartial = Partial.new()。我已经成功地使用 jquery 在单击“新建部分”按钮时切换两个列表项的显示和隐藏,并且在完成完成的表单后,肯定会创建一个新的部分对象。我在这里寻找的是在表单提交后重新出现的部分集合,包括新创建的部分对象。做这个的最好方式是什么?我的表单位于 ID 为“form”的列表项内,如下所示:
<%= form_for @newpartial, :html => {:multipart => true, :class => 'custom'}, remote: true do |f| %>
<% if @newpartial.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@newpartial.errors.count, 'error') %> prohibited this partial from being saved:</h2>
<ul>
<% @newpartial.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= render :partial => 'partials/form-partial', :locals => { :f => f } %>
<div class="actions">
<%= f.submit 'Launch', :class => 'large success button radius new_browser_tab' %>
<a class="cancel_campaign_new">Cancel</a>
</div>
<% end %>
我还成功地创建了一个在 DOM 完全加载后绑定到此表单的“ajax:success”事件的函数。我只是不知道这是否是正确的方法,如果是,我不知道这个事件处理程序的主体应该由什么组成。我已经提出了与同一问题相关的其他问题(我已经有一段时间没有找到解决方案了)。如果您需要其他上下文,请参考以下问题: