class DynamicScaffold::Form::Item::Cocoon
Attributes
form[R]
Public Class Methods
new(config, type, name, options = {}) { |form| ... }
click to toggle source
Calls superclass method
DynamicScaffold::Form::Item::Base::new
# File lib/dynamic_scaffold/form/item/cocoon.rb, line 6 def initialize(config, type, name, options = {}) super @options = options @form = FormBuilder.new(config) @form.parent_item = self yield(@form) end
Public Instance Methods
add_text()
click to toggle source
# File lib/dynamic_scaffold/form/item/cocoon.rb, line 23 def add_text @options[:add_text] || "Add #{proxy_field.label}" end
build_children(record)
click to toggle source
# File lib/dynamic_scaffold/form/item/cocoon.rb, line 27 def build_children(record) children = record.public_send(name).to_a children = @filter.call(children) if @filter.present? children end
extract_parameters(permitting)
click to toggle source
# File lib/dynamic_scaffold/form/item/cocoon.rb, line 14 def extract_parameters(permitting) permitting << { "#{@name}_attributes": [*@form.items.map(&:name).push(:_destroy)] } end
filter(&block)
click to toggle source
# File lib/dynamic_scaffold/form/item/cocoon.rb, line 18 def filter(&block) @filter = block self end