Sha256: a0a4b24ec6fc489add4bccfb81261b621771bac4ebca431addfc7c31f8ecf862
Contents?: true
Size: 854 Bytes
Versions: 8
Compression:
Stored size: 854 Bytes
Contents
module DynamicScaffold module Form module Item class Cocoon < Base attr_reader :form def initialize(config, type, name, options = {}) super @options = options @form = FormBuilder.new(config) @form.parent_item = self yield(@form) end def extract_parameters(permitting) permitting << { "#{@name}_attributes": [*@form.items.map(&:name).push(:_destroy)] } end def filter(&block) @filter = block self end def add_text @options[:add_text] || "Add #{proxy_field.label}" end def build_children(record) children = record.public_send(name).to_a children = @filter.call(children) if @filter.present? children end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems