안녕하세요, 저는 현재 ajax 요청을 실행하는 jQuery 라이브러리를 사용하는 레일 애플 리케이션이 있습니다. 레일 프로그램은 다음 드래그 객체를 가지고 올바른 용기에 드롭하도록되어레일 및 jQuery Ajax 요청 보내기
a(this).data("draggable") is undefined
: 그러나 나는 밖으로 전송되는 나에게 오류를주고있다 아약스 요청으로 약간의 문제로 실행했습니다 끌어서 놓기로 지정된 새 권한을 반영하도록 드래그 가능한 객체의 속성을 업데이트합니다. 그래서 기본적으로 사용 권한을 구성하는 방법이지만 끌어서 놓기를 사용하는 방법입니다. 이것은 레일 코드
<%= drop_receiving_element drop_id,
:onDrop => "function(ev,ui){
if (confirm(\"#{escape_javascript(_('This will add User to this Group, are you sure?'))}\"))
{#{remote_function(:update => 'module_content',
:url => {:controller => :projects,
:action => :member_change,
:id => @project.id},
:with => "'u=' + encodeURIComponent($(ui.draggable).attr('id')) + '&r=' + encodeURIComponent($(this).attr('id'))"
)};}
}",
:accept => '.RolesUsersSelection',
:update => 'roles_edit',
:url => {:controller => :projects, :action => :role_user_update},
:hoverclass => "#{drop_class}_active"
%>
입니다 그리고 이것은 jrails 및 JQuery와에 의해 생성 된 자바 스크립트입니다 :
<script type="text/javascript">
//<![CDATA[
jQuery('#RemoveThisMember').droppable({accept:'.RolesUsersSelection', drop:function(ev,ui){
if (confirm("This will remove User from this Group, are you sure?"))
{jQuery.ajax({data:'u=' + encodeURIComponent($(ui.draggable).attr('id')), success:function(request){jQuery('#module_content').html(request);}, type:'post', url:'/of/projects/11/member_delete'});}
}, hoverClass:'ProjectRoleDropDelete_active'})
//]]>
</script>
임 그것은 ($(this).attr('id'))
과는하지만이 있어야 다른 확실하지 메신저 뭔가를 가지고 추측하고. .. 고마워,
실제로 Javascript 코드를 변경할 수있는 방법이 거의 없기 때문에 레일스 도우미 메서드를 사용하여 자바 스크립트를 만들 수 있습니다. 그러나 어쨌든 당신의 도움에 감사드립니다. – TheRealVayne
방금 ui.draggable.remove() 코드를 추가했습니다. 원격 기능을 수행 한 후 작동했습니다. 도움 주셔서 감사합니다 btw Logged – TheRealVayne