Class: DynamicScaffold::Form::Item::Cocoon
- Inherits:
-
Base
- Object
- Base
- DynamicScaffold::Form::Item::Cocoon
show all
- Defined in:
- lib/dynamic_scaffold/form/item/cocoon.rb
Instance Attribute Summary collapse
Attributes inherited from Base
#name
Instance Method Summary
collapse
Methods inherited from Base
create, #default, #default_value, #errors, #if, #insert, #label, #label?, #needs_rendering?, #note, #notes?, #proxy, #proxy_field, #render_label, #render_notes, #type?, #unique_name, #unless
Constructor Details
#initialize(config, type, name, options = {}) {|@form| ... } ⇒ Cocoon
Returns a new instance of Cocoon.
6
7
8
9
10
11
|
# File 'lib/dynamic_scaffold/form/item/cocoon.rb', line 6
def initialize(config, type, name, options = {})
super
@options = options
@form = FormBuilder.new(config)
yield(@form)
end
|
Instance Attribute Details
Returns the value of attribute form.
5
6
7
|
# File 'lib/dynamic_scaffold/form/item/cocoon.rb', line 5
def form
@form
end
|
Instance Method Details
#add_text ⇒ Object
22
23
24
|
# File 'lib/dynamic_scaffold/form/item/cocoon.rb', line 22
def add_text
@options[:add_text] || "Add #{proxy_field.label}"
end
|
#build_children(record) ⇒ Object
26
27
28
29
30
|
# File 'lib/dynamic_scaffold/form/item/cocoon.rb', line 26
def build_children(record)
children = record.public_send(name).to_a
children = @filter.call(children) if @filter.present?
children
end
|
13
14
15
|
# File 'lib/dynamic_scaffold/form/item/cocoon.rb', line 13
def (permitting)
permitting << { "#{@name}_attributes": [*@form.items.map(&:name).push(:_destroy)] }
end
|
#filter(&block) ⇒ Object
17
18
19
20
|
# File 'lib/dynamic_scaffold/form/item/cocoon.rb', line 17
def filter(&block)
@filter = block
self
end
|