2012-01-03 2 views
1

동적 체크리스트를 만들고 있는데 AJAX 요청 및 데이터베이스 업데이트에 문제가 있습니다. 기본적으로 항목을 클릭하면 데이터베이스를 비동기 적으로 업데이트하여 항목이 클릭되었다고 말합니다. 여기에 자바 스크립트는 다음과 같습니다RoR의 AJAX 요청 및 CookieOverflow

여기
$('.checkBoxContainer').click(function() { 
    $(this).css("background-color", "#FFF3D8"); 
    $(this).find("input").attr("disabled", "disabled") 
    $(this).find("p").css("text-decoration", "line-through") 
        .css("color", "#AAA"); 
    $.ajax({ 
     type : "POST", 
     url : "updateDone", 
     data : "id=" + $(this).attr("id") 
    }); 
}); 

컨트롤러 다음 코드는 5 개 항목 정도 명령 프롬프트가 나에게 "쿠키 오버플로"오류를 촬영하기 전에 작동

def updateDone 
    currentItem = Item.find(params[:id]) 
    currentItem.update_attribute(:done => true) 
    end 

의 방법이다. 쿠키 나 세션 데이터를 사용하지 않으므로이 오류가 어떻게 발생합니까? 클라이언트가 체크리스트에 5 개 이상의 항목을 만들 수 있도록 서버/브라우저의 세션/쿠키 데이터를 어떻게 정리할 수 있습니까?

+0

스크린 샷을 찍거나 오류 메시지를 복사/붙여 넣기 할 수 있습니까? – denniss

답변

3

세션에 저장할 물건을 줄이거 나 세션 저장소를 memcache으로 옮깁니다.
기본값 인 cookie 기반 세션 저장소는 표준 당 쿠키가 더 큰 크기를 가질 수 없기 때문에 ~ 최대 4KB의 데이터 만 저장할 수 있습니다.

+0

앱의 어딘가에서 "쿠키 오버플로"가 발생하면 오버플로가 발생할 때까지 세션에 데이터가 저장됩니다. – clyfe

+0

네가 옳았다. 미안합니다 – Vivek