Ruby on rails Rails动态添加嵌套表单错误未显示在参数中
仅第一次出现在参数中,但我们动态添加的其他参数不显示在参数中 应用程序jsRuby on rails Rails动态添加嵌套表单错误未显示在参数中,ruby-on-rails,ruby,nested-attributes,Ruby On Rails,Ruby,Nested Attributes,仅第一次出现在参数中,但我们动态添加的其他参数不显示在参数中 应用程序js (function () { var ready; ready = function () { $(document).on('click', '.remove_fields', function (event) { $(this).prev('input[type=hidden]').val('1'); $(this).closest('
(function () {
var ready;
ready = function () {
$(document).on('click', '.remove_fields', function (event) {
$(this).prev('input[type=hidden]').val('1');
$(this).closest('fieldset').hide();
return event.preventDefault();
});
$(document).on('click', '.add_fields', function (event) {
var regexp, time;
time = new Date().getTime();
regexp = new RegExp($(this).data('id'), 'g');
$(this).before($(this).data('fields').replace(regexp, time));
$(document).find('.date-of-service').datepicker({
dateFormat: 'yy-mm-dd'
});
return event.preventDefault();
});
};
$(document).ready(ready);
$(document).on('page:load', ready);
}).call(this);
ApplicationHelper.rb
def link_to_add_fields(name, f, association, **args)
new_object = f.object.send(association).klass.new
id = new_object.object_id
fields = f.fields_for(association, new_object, child_index: id) do |ff|
render(association.to_s.singularize + "_fields", f: ff)
end
link_to(name, '#', class: "add_fields" , data: {id: id, fields: fields.gsub("\n", "")})
end
我们的形式
<%= f.fields_for :lineitems do |ff| %>
<%= render 'lineitem_fields', f: ff %>
添加另一发票行项目“.html\u safe,f,:lineitems%>
我们添加动态的部分
<%= f.fields_for :items do |ff| %>
<%= render 'items_fields', f: ff %>
添加另一个item'.html\u safe,f,:items%>我建议在(动态)添加字段后查看表单的html。与其他字段相比,检查新字段的不同之处。现在还不清楚问题是什么,或者我如何重现它,因为您的示例不是最小的,也不完整(您如何使用
link\u to\u add\u fields
?)。此外,正如我所说的,您应该从查看生成的HTML开始,而不是所有这些ruby代码。为了其他读者,我还强烈建议您将问题写成一个格式良好的句子,不要使用不必要的大写字母。“只有第一次出现在参数中,但我们动态添加的其他参数不显示在参数中”没有真正意义。。。我猜您的意思是:“提交表单时,动态添加的字段不会与其他参数一起发送”?当我从_formpartial中获取项目嵌套表单并将其放在我的edithtml上方时,它工作,但当我将其放在下方时,它不工作,我希望下方动态添加的字段不会与其他参数一起发送,当提交我的表单时,是的,我将再次说明:查看生成的HTML。看看“有效”的版本和“无效”的版本。有什么区别?您仍然没有提供完整的代码示例(哪里是
?如何使用链接添加字段),因此我不知道如何重现该问题。一旦你发现了HTML的“错误”,然后再看看ruby/javascript代码是如何生成的。