2010-03-24 3 views
1

사용자가 다른 목록에서 항목을 드래그하면 Rails의 MySQL 데이터베이스에 데이터를 저장하려고합니다. 나는 JQuery와 스크립트와 HTML 아래를 사용하고 있습니다 :Ruby on Rails + Jquery : 드래그 가능한 목록에서 데이터 저장

<script> 
$(document).ready(function() { 
$("#draggable").draggable({ connectToSortable: 'ul#myList', helper:'clone' }); 
$("#myList").sortable(); 

}); 
</script> 

HTML :

<ul> 
    <li id="draggable">Drag me to myList</li> 
</ul> 

<ul id="myList"> 
<li id="item-1">item 1</li> 
<li id="item-2">item 2</li> 
</ul> 

나는 지난 몇 시간 동안 인터넷 검색을 한 적이 있지만 여러간에 데이터를 저장하는 방법을 찾을 수 없습니다 Rails를 사용하여 목록을 만듭니다. 어떤 생각?

답변

4

서버 측 코드가 변경 사항을 인식하도록해야합니다. 당신과 같이, Ajax 호출을 할 sortablestop 이벤트를 사용할 수 있습니다

<script> 
    $(document).ready(function() { 
     $("#draggable").draggable({ 
      connectToSortable: 'ul#myList', 
      helper:'clone' 
     }); 

     $("#myList").sortable({ 
      stop: function(event, ui){ 
       //put your AJAX call here 
      } 
     }); 
    }); 
</script> 

그런 다음 당신은 당신의 데이터베이스에서 해당 데이터를 그 AJAX 응답에 응답하고 업데이트 할 적절한 서버 측 동작을 설정해야 . 지금까지 보았던 코드가 브라우저의 DOM 구조 만 수정하는 것입니다. 데이터가있는 서버 측은 아무 것도하지 않습니다.

+0

마이크! 정말 감사합니다! :) – sjsc

+0

문제 없습니다, 우리가 여기있는 이유입니다. –