Module: VanillaNested::ViewHelpers
- Defined in:
- lib/vanilla_nested/view_helpers.rb
Instance Method Summary collapse
- #link_to_add_nested(form, association, container_selector, link_text: nil, link_classes: '', insert_method: :append, partial: nil, partial_form_variable: :form) ⇒ Object
- #link_to_remove_nested(form, link_text: 'X', fields_wrapper_selector: nil, undo_link_timeout: nil, undo_link_text: 'Undo', undo_link_classes: '') ⇒ Object
Instance Method Details
#link_to_add_nested(form, association, container_selector, link_text: nil, link_classes: '', insert_method: :append, partial: nil, partial_form_variable: :form) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/vanilla_nested/view_helpers.rb', line 3 def link_to_add_nested(form, association, container_selector, link_text: nil, link_classes: '', insert_method: :append, partial: nil, partial_form_variable: :form) association_class = form.object.class.reflections[association.to_s].klass object = association_class.new partial_name = partial ? partial : "#{association_class.name.downcase}_fields" html = capture do form.fields_for association, object, child_index: "_idx_placeholder_" do |ff| render partial: partial_name, locals: {partial_form_variable => ff} end end methodForInsert = [:append, :prepend].include?(insert_method.to_sym) ? insert_method : :append classes = "vanilla-nested-add #{link_classes}" link_to '#', class: classes, onclick: 'addVanillaNestedFields(event)', data: {'container-selector': container_selector, html: html, 'method-for-insert': methodForInsert} do link_text || "Add #{association_class.model_name}" end end |
#link_to_remove_nested(form, link_text: 'X', fields_wrapper_selector: nil, undo_link_timeout: nil, undo_link_text: 'Undo', undo_link_classes: '') ⇒ Object
23 24 25 26 27 28 |
# File 'lib/vanilla_nested/view_helpers.rb', line 23 def link_to_remove_nested(form, link_text: 'X', fields_wrapper_selector: nil, undo_link_timeout: nil, undo_link_text: 'Undo', undo_link_classes: '') capture do concat form.hidden_field(:_destroy, value: 0) concat link_to(link_text, '#', class: 'vanilla-nested-remove', onclick: 'removeVanillaNestedFields(event)', data: {'fields-wrapper-selector': fields_wrapper_selector, 'undo-timeout': undo_link_timeout, 'undo-text': undo_link_text, 'undo-link-classes': undo_link_classes}) end end |