<% association_model = association.camelize.singularize.constantize association_objects = thing.send( association ) un_associated_objects = association_model.find(:all).delete_if{ | each_assoc_obj | association_objects.include?( each_assoc_obj ) } [un_associated_objects, association_objects ].each{|sort_me| sort_me.sort!{|x,y| x.send( association_attr ) <=> y.send( association_attr ) } } %> <% unless thing.new_record? %>

available <%= association_model.to_s.pluralize.downcase %>

assigned <%= association_model.to_s.pluralize.downcase %>

<%= drop_receiving_element "available", :update => "m2m_container", :url => { :action => "m2m" }, :accept => "assigned_#{association_model}", :with => "'add_or_remove=remove&thing_model=#{thing.class}&thing_id=#{thing.id}&association=#{association}&association_id=' + encodeURIComponent(element.id) + '&association_attr=#{association_attr}'" %> <%= drop_receiving_element "assigned", :update => "m2m_container", :url => { :action => "m2m" }, :accept => "#{association_model}", :with => "'add_or_remove=add&thing_model=#{thing.class}&thing_id=#{thing.id}&association=#{association}&association_id=' + encodeURIComponent(element.id) + '&association_attr=#{association_attr}'" %>

<% end %>