diff --git a/app/assets/javascripts/admin.js b/app/assets/javascripts/admin.js index 2210472..c53052f 100644 --- a/app/assets/javascripts/admin.js +++ b/app/assets/javascripts/admin.js @@ -454,6 +454,10 @@ $(link).closest(".options_content").hide(); } +$(".remove-option").click(function(e){ + e.preventDefault(); + remove_object($(this).parent()); +}); function add_object(link, association, content) { diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 7ffcb0a..7063bb7 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -17,14 +17,14 @@ def link_to_add_object(name, f, association, css_class, i) - new_object = f.object.class.reflect_on_association(association).klass.new - fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder| - j = i + 1 - new_object.number = j - render(association.to_s.singularize + "_fields", :f => builder) - end - link_to_function(name, "add_object(this, \"#{association}\", \"#{escape_javascript(fields)}\")", :class => css_class) - end + new_object = f.object.class.reflect_on_association(association).klass.new - + fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder| + j = i + 1 + new_object.number = j + render(association.to_s.singularize + "_fields", :f => builder) + end + + "#{name}" + end end diff --git a/app/views/dmptemplates/_option_fields.html.erb b/app/views/dmptemplates/_option_fields.html.erb index 54cea38..ac69280 100644 --- a/app/views/dmptemplates/_option_fields.html.erb +++ b/app/views/dmptemplates/_option_fields.html.erb @@ -3,5 +3,5 @@ <%= f.number_field :number,:in => 1..20, :class => "number_field option"%> <%= f.text_field :text, :as => :string, :class => "small_text_field" %> <%= f.check_box :is_default %> - <%= f.hidden_field :_destroy %><%= link_to_function t('org_admin.remove_option_label'), "remove_object(this)"%> + <%= f.hidden_field :_destroy %><%= t('org_admin.remove_option_label') %>