Sha256: bee009e223538538ce203d3924e82b37221b247ada8ce1cf26cbe505a674f4a1

Contents?: true

Size: 759 Bytes

Versions: 1

Compression:

Stored size: 759 Bytes

Contents

# frozen_string_literal: true

class OrderFormBuilder < ActionView::Helpers::FormBuilder
  def tree_collection_select(method, collection, option_key_method, option_value_method, options = {}, html_options = {})
    choices = collection.each_with_object([]) do |record, items|
      items << [record.send(option_value_method), record.send(option_key_method), { class: [record.root? ? 'root' : 'child'] }]

      next unless record.root? && record.parsed_children

      record.parsed_children.each do |child|
        items << [child.send(option_value_method), child.send(option_key_method), { class: ['child'] }]
      end
    end

    @template.select(@object_name, method, choices, objectify_options(options), @default_options.merge(html_options))
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/inputs/order_form_builder.rb