3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'app/helpers/dynamic_fields_for_helper.rb', line 3
def link_to_add_fields(form, association, options = {}, &block)
partial = options[:partial] || nil
name = options[:name] || nil
css_classes = options[:class] || nil
target = options[:target] || nil
new_object = form.object.send(association).klass.new
id = new_object.object_id
fields = form.fields_for(association, new_object, child_index: id) do |builder|
if partial
render("#{form.object.class.name.downcase.pluralize}/#{partial}", fields: builder)
else
render("#{form.object.class.name.downcase.pluralize}/#{association.to_s.singularize}_fields", fields: builder)
end
end
css_classes = css_classes(DynamicFieldsForRails.add_css_classes, css_classes)
if block_given?
link_to('#', class: css_classes, data: { id: id, fields: fields.delete("\n"), target: target }, &block)
else
link_to(name, '#', class: css_classes, data: { id: id, fields: fields.delete("\n"), target: target })
end
end
|