|
module LookupKeysHelper
|
|
|
|
def remove_child_link(name, f, opts = {})
|
|
opts[:class] = [opts[:class], "remove_nested_fields"].compact.join(" ")
|
|
f.hidden_field(opts[:method]||:_destroy) + link_to_function(name, "remove_child_node(this);" , opts)
|
|
end
|
|
|
|
def add_child_link(name, association, opts = {})
|
|
opts[:class] = [opts[:class], "add_nested_fields btn btn-small btn-success"].compact.join(" ")
|
|
opts[:"data-association"] = association
|
|
link_to_function(name.to_s, "add_child_node(this);" , opts)
|
|
end
|
|
|
|
def new_child_fields_template(form_builder, association, options = { })
|
|
options[:object] ||= form_builder.object.class.reflect_on_association(association).klass.new
|
|
options[:partial] ||= association.to_s.singularize
|
|
options[:form_builder_local] ||= :f
|
|
options[:form_builder_attrs] ||= {}
|
|
|
|
content_tag(:div, :id => "#{association}_fields_template", :style => "display: none;") do
|
|
form_builder.fields_for(association, options[:object], :child_index => "new_#{association}") do |f|
|
|
render(:partial => options[:partial], :locals => { options[:form_builder_local] => f }.merge(options[:form_builder_attrs]))
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|