您好,我正在使用这个 GEM“ nested_form ”,它实际上就像魅力一样。
我只需要覆盖将新子表单插入表单的默认行为。这在文档中解释得很好。它说:
Enhanced jQuery JavaScript template
You can override default behavior of inserting new subforms into your form. For example:
window.nestedFormEvents.insertFields = function(content, assoc, link) {
return $(link).closest('form').find(assoc + '_fields').append($(content));
}
我试图将它包装到一个脚本标签中,并将它插入到我需要它的视图顶部。但它根本不起作用。我无法覆盖默认行为。
编辑:这是视图中使用的代码。
<%= f.fields_for :citizens do |citizen_form| %>
<div>
<%= citizen_form.label :citizen, t('generales.citizen') %>
<%= citizen_form.select :country_id , Country.all.collect {|p| [ t("generales."+p.iso), p.id ] }, { :include_blank => true } , { :class => 'pca33' } %>
<div id="delerr"><%= citizen_form.link_to_remove t('generales.delete') %></div>
</div>
<% end %>
我也寻找嵌套的javascript,但我认为这个文件是自动生成的,因为我找不到它,但在标题中是
<script src="/assets/jquery_nested_form.js?body=1" type="text/javascript"></script>
查看 vendor/assets/javascript(不存在) 查看 public/assets/javascript(不存在) 查看 app/assets/javascript(不存在)
那么它在哪里呢?我必须在那里改变一些东西吗?或者文档在说什么?