Uploaded image for project: 'Mongoid'
  1. Mongoid
  2. MONGOID-1140

:child_index in fields_for doesn't work for references_many relations

    • Type: Icon: Task Task
    • Resolution: Done
    • 2.1.9
    • Affects Version/s: None
    • Component/s: None
    • None

      Mongoid 2.1.7, Rails 3.0.9

      @object.send(association_name).is_a?(Array)

      is false in the following code. According to my debug its type is

      Unable to find source-code formatter for language: mongoid. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      ::Relations::Targets::Enumerable

      form_helper.rb from actionpack:

          def fields_for_with_nested_attributes(association_name, association, options, block)
                name = "#{object_name}[#{association_name}_attributes]"
                association = convert_to_model(association)
      
                if association.respond_to?(:persisted?)
                  association = [association] if @object.send(association_name).is_a?(Array) 
                elsif !association.respond_to?(:to_ary)
                  association = @object.send(association_name) 
                end
      
                if association.respond_to?(:to_ary)
                  explicit_child_index = options[:child_index]
                  output = ActiveSupport::SafeBuffer.new
                  association.each do |child|
                    output << fields_for_nested_model("#{name}[#{explicit_child_index || nested_child_index(name)}]", child, options, block)
                  end
                  output
                elsif association
                  fields_for_nested_model(name, association, options, block)
                end
              end
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            ikonyshev ikonyshev
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: