이의 내가 가진한다고 가정 해 봅시다 레일하기 위해 결사 저장 : 을에 '설문 조사'가 많은 '질문'에를 많은 '답변'jQuery를-UI 정렬 가능한 연결을 나열 모델
나는 '설문 조사'를 한 경우 그의 그들을 호출 할 수 있도록하는 '질문'의 두 인스턴스를했다 '좋은 질문'과 '나쁜 질문'
'좋은 질문'5 '답변'이 있고 '나쁜 질문은'3가 '답변'
'좋은 질문'과 '나쁜 질문'이이 jQuery-UI 상호 작용을 통해 정렬 가능한 목록으로 연결되는 경우 http://jqueryui.com/sortable/#connect-lists
jQuery-UI를 사용하여 2 개의 정렬 가능한 목록으로 표시하는 방법을 알고 있고 '잘못된 질문'에서 '좋은 질문'으로 '답변'을 드롭 할 수도 있습니다. 그러나 어떻게 새로운 정렬 된 위치와 새로 정렬 된 관계를 다른 '질문'으로 저장하여 레일스 데이터베이스에 저장하겠습니까?
Railscasts는 정렬 가능한 단일 목록의 위치를 저장하는 방법을 가지고 있지만 다른 관련 모델에 속한 목록에는 저장하지 않습니다. http://railscasts.com/episodes/147-sortable-lists-revised
정말 도움을 주셔서 감사합니다.
편집
난 그냥 레일 컨트롤러에 POST해야한다는 것을 깨달았다, 나는 (즉 <ol class = "connectableSortable" id = "Good_Question"</ol>
)
이에 '답'을 떨어 목록의 요소 ID는 구문입니다 Railscast가 sortable 순서로 object_id의 배열을 전달하기 위해 레일즈 컨트롤러에 POST를하는 방법.
jQuery ->
$('#faqs').sortable(
axis: 'y'
update: ->
$.post($(this).data('update-url'), $(this).sortable('serialize'))
)
나는 그것에리스트 ID를 전달하는이 게시물을 업데이트, 그래서 난 그냥으로 떨어졌다 목록 'ID'에 '응답'에 대한 '질문'외래 키를 업데이트 할 수있는 방법
?
이 SO 응답에는 목록 ID를 검색하는 방법이 있습니다. Get the item/object where the element is dropped
그래서 이제는 추가 매개 변수를 레일 컨트롤러로 전달하는 방법을 알아야합니다. 어떤 도움이 필요합니까?
당신은 $ 같은 것을 사용하여 목록 ('리의 위치를 얻을 수 있습니다. selected '). index() –
Question 인스턴스가 제공 한 목록이 Answer 인스턴스의 배열이라고 가정합니다. 그런 다음 그것들을 하나의 배열로 만들려면'master_array = arr1 + arr2'을 수행하고 그것을 jQuery에 준다. 새로 정렬 된 위치를 저장하는 것은 완전히 다른 일입니다. 당신은 실제로 질문이 아닌 _Survey_와 관련하여 목록 순서를 저장하려고합니다. 왼쪽의 설문 조사부터 시작하여 오른쪽의 Answers에 대한 질문까지 모든 것을 종이 위에 그립니다. 더 많은 한 설문 조사에서 질문을 사용할 수 있습니까? – iain
현재 '질문'은 '설문 조사'에만 속합니다. 또한 '답변'은 1 개의 '질문'에만 속합니다. 이 경우 '답변'과 '질문'간의 연관성을 변경하려고합니다. –