2017-02-23 2 views
1

Ich erhalte einen Fehler, wenn mir Parameter an eine POST Route vorbeiWie behebe ich Rack :: Session :: Cookie nach der Entschlüsselung, damit nichts falsch aussieht?

Warning! Rack::Session::Cookie data size exceeds 4K. 
Warning! Rack::Session::Cookie failed to save session. Content dropped. 

ich das Cookie entschlüsselt zu erzählen und absolut nichts mit ihm nicht in Ordnung ... es sieht genauso aus, wie es sollte ....

{"session_id"=>"94a15819b3b915556c120a5e83c75bfaab83bfce555bb81e78512adabbbbe654"} 
{"user"=>#<OEDApp::User _id: 58502d2d07a0ee469cc0c065, created_at: 2016-12-13 17:17:33 UTC, updated_at: 2016-12-22 18:43:48 UTC, first_name: "", last_name: "", email: "", phone_number: "", encrypted_password: "XbUAU7w3poTt8uE7OUGwJw==", access_level: "Manager", is_active: true, is_admin: true>} 
{"login"=>true} 

Gibt es bekannte Fehler bei Rack Session Cookies, die dazu führen, dass der Fehler ausgelöst wird?

Antwort

0

Offenbar speichern Sie Ihr User Objekt direkt in der Sitzung. Ich vermute, dass, wenn es serialisiert wird, um in dem Cookie gespeichert zu werden, es auf andere Objekte verweist, so dass die kombinierte Größe aller Objekte das Limit überschreitet.

Anstatt das gesamte Objekt User in der Sitzung zu speichern, sollten Sie einfach einen Bezeichner dafür speichern (z. B. den Wert _id) und die Datenbank nach dem tatsächlichen Objekt in jeder Anfrage abfragen.

+0

Leider löst dies nicht, leider bin ich auf drei separaten Projekten in der Entwicklung, jetzt brauche ich einige ernsthafte Ressourcen, um es zu reparieren asap = / – aronlmin

Verwandte Themen