Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails动态添加嵌套表单错误未显示在参数中_Ruby On Rails_Ruby_Nested Attributes - Fatal编程技术网

Ruby on rails Rails动态添加嵌套表单错误未显示在参数中

Ruby 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('

仅第一次出现在参数中,但我们动态添加的其他参数不显示在参数中

应用程序js

(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代码是如何生成的。