2012-01-03 9 views
1

私は動的チェックリストを作成していますが、AJAXリクエストとデータベースの更新にいくつか問題があります。基本的に、アイテムがクリックされると、非同期的にデータベースが更新され、アイテムがクリックされたと言われます。ここではjavascriptのは、次のとおりです。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つ以上の項目を作成できるように、サーバー/ブラウザのセッション/ Cookieデータをどのようにクリアすればよいでしょうか?

+0

スクリーンショットを撮るか、エラーメッセージをコピー/貼り付けできますか? – denniss

答えて

3

セッションに保存するアイテムを少なくするか、セッションストアをmemcacheに移動します。
デフォルトのcookieセッションストアは、標準のクッキーがより大きなサイズを持つことができないため、〜4kbまでのデータしか保持できません。

+0

アプリのどこかに「Cookie Overflow」があると、何かがオーバーフローするまでセッションにデータを入れます。 – clyfe

+0

あなたは正しいです。申し訳ありません – Vivek

関連する問題