2009-04-27 5 views
1

Je souhaite créer un drop_receiving_element où: url contient javascript. Actuellement, je viens de créer une fonction d'assistance et codées en dur dans l'élément comme ceci:javascript dans les rails: paramètre url

def create_classification_droppable(droppable_id, classification) 
    "<script type='text/javascript'> 
    //<![CDATA[ 
     Droppables.add('#{droppable_id}', {accept:'lead', onDrop:function(element){new Ajax.Request('/leads/' + (element.id.split('_').last()) + '.js', {asynchronous:true, evalScripts:true, method:'put', parameters:'lead[classification]=#{classification}&authenticity_token=' + encodeURIComponent('#{form_authenticity_token}')})}}) 
    //]]> 
    </script>" 
end 

C'est assez hackish et laid, bien que. Idéalement, je voudrais faire quelque chose comme:

drop_receiving_element('some_class',     
    :accept => 'some_other_class', 
    :url => formatted_whatever_path(SOMETHING_BASED_ON_WHATEVER_IS_BEING_DROPPED)) 

Ou

formatted_whatever_path(:id => "some_javascript", :js) 

Malheureusement, cela ne semble pas possible parce que l'URL est échappé en aval de la chaîne d'appel (en url_for, je crois) . Quelles sont les alternatives?

Répondre

Questions connexes