2011-01-06 9 views
1

現在、jRailsとjQueryライブラリを使用していくつかのajax関数を実行するrailsのWebページがあります。 jRailsが実際に使用されていることを示唆しているdelayedObserverプラグインを含むこれまでのすべてが機能しています。しかし、私の 'drop_receiving_element'は動作していないようです。このRailsのコード:受信IDをRailsにドロップする

しかし、私はこれが動作していない理由として困惑して次のJavaScriptコード

<script type="text/javascript"> 
//<![CDATA[ 
jQuery('#RemoveThisMember').droppable({accept:'RolesUsersSelection', drop:function(drag_element, drop_element, event){ 
    if (confirm("This will remove User from this Group, are you sure?")) 
    {jQuery.ajax({data:'u=' + encodeURIComponent(drag_element.id), success:function(request){jQuery('#module_content').html(request);}, type:'post', url:'/of/projects/11/member_delete'});} 
    }, hoverClass:'ProjectRoleDropDelete_active'}) 
//]]> 
</script> 

になり

<%= drop_receiving_element drop_id, 
     :onDrop => "function(drag_element, drop_element, event){ 
    if (confirm(\"#{escape_javascript(_('This will remove User from this Group, are you sure?'))}\")) 
    {#{remote_function(:update => 'module_content', 
    :url => {:controller => :projects, 
    :action => :member_delete, 
    :id => @project.id}, 
    :with => "'u=' + encodeURIComponent(drag_element.id)" 
    )};} 
    }", 
     :accept => 'RolesUsersSelection', 
     :hoverclass => "#{drop_class}_active" 
    %> 

これはjRails.rbに呼び出された関数

def drop_receiving_element_js(element_id, options = {}) 
    #convert similar options 
    options[:hoverClass] = options.delete(:hoverclass) if options[:hoverclass] 
    options[:drop] = options.delete(:onDrop) if options[:onDrop] 

    if options[:drop] || options[:url] 
     options[:with] ||= "'id=' + encodeURIComponent(#{JQUERY_VAR}(ui.draggable).attr('id'))" 
     options[:drop] ||= "function(ev, ui){" + remote_function(options) + "}" 
    end 

    options.delete_if { |key, value| PrototypeHelper::AJAX_OPTIONS.include?(key) } 

    options[:accept] = array_or_string_for_javascript(options[:accept]) if options[:accept] 
    [:activeClass, :hoverClass, :tolerance].each do |option| 
     options[option] = "'#{options[option]}'" if options[option] 
    end 

    %(#{JQUERY_VAR}('#{jquery_id(element_id)}').droppable(#{options_for_javascript(options)});) 
    end 

任意のアイデアですか?私は

function(drag_element, drop_element, event) 

ためのパラメータが正しくありませんでした、jQueryのに切り替えたので

おかげで、

答えて

0

が判明します。これらはプロトタイプの正しいパラメータです。あなたがjQueryライブラリを使用している場合は、

function (ui,event) 

を読んでください。

関連する問題