2017-09-05 12 views
0

나는 증기를 배웠고 서버와 상호 작용하는 적절한 방법을 고수했다. 그래서 여기에 내가하고있는 일에 대한 아이디어가 있습니다.증기 - HTML에서 모델 얻기

XML 파일을 서버에 업로드하고 처리 한 다음 모델 객체의 큰 목록으로 변환하고 json 객체 목록을 반환합니다. 리프를 사용하여 모델을 테이블 뷰에 채 웁니다. 예 :

#loop(objects, "object") { 
     <tr> 
     <td>#(object.id)</td> 
     <td>#(object.name)</td> 
     </tr> 
    } 

이 파일은 모두 작동합니다. 여기 내가 붙어있는 곳이야. 내 tableview 상단에, 나는 객체 배열에 대한 작업을 수행 할 몇 가지 버튼이 있습니다. ie : 배치 이름 바꾸기 객체, 또는 그들에게 일종의 논리를 적용합니다. 그런 다음 모델 개체 목록을 다양한 형식으로 다운로드하는 기능이 필요합니다.

이 논리가 모두 내 증기 서버에 존재하기를 바랍니다. 내가 잃어버린 부분은 Vapor 서버로이 매우 큰 목록을 앞뒤로 전달하는 방법입니다. 서버가 현재 웹 세션에 대한 객체 목록을 저장해야합니까? HTML에서 Javascript를 사용하여 보았지만 내 모델 객체를 만들려면 DOM을 구문 분석해야합니다. 이 시점에서 수증기에서는 아무 것도 일어나지 않을 것입니다. (이러한 작업 중 일부는 매우 서버 집약적 일 것입니다.

유창하게 보았지만 현재 세션에 대한 데이터베이스가 있고 질문이 완료되면 삭제할 수 있습니까? 메모리 문제와 관련이 있습니까? 이 개념은? 나는 XML을 업로드 할 때 세션 ID를 생성하고 모든 요청이 그것을 기반으로한다고 생각할 것이다. 그런 다음 ID는 어느 시점에서 만료 될 것이다. 이것은 모두 가장 잘 작동 할 것이라고 추측한다.

증기 모델 객체를 조작하는 가장 좋은 방법에

어떤 아이디어?

감사합니다!

답변

0

XML을 업로드 할 때 세션 ID가 생성되고 모든 요청이 그 내용을 기반으로한다고 생각합니다. 그런 다음 ID는 어느 시점에서 만료됩니다.

빙고. 서버 측에서이 처리를 원한다면 이미 질문에 대답했습니다. 모델 개체가 저장된 임의의 세션 ID (SessionsMiddleware을 사용하는 Vapor에 의해 관리 될 수 있음)와 함께 하나의 데이터베이스 테이블을 가져야합니다.

사용자가 모델 처리를 완료하면 세션 ID가있는 모든 개체가 삭제됩니다. 만료 된 세션에 속한 모델을 삭제하는 예약 된 작업을 정기적으로 실행해야합니다.

사용자 인증을 구현하기로 결정한 경우 세션 ID 대신 사용자 ID를 사용할 수 있습니다.