2014-06-05 13 views
8

Geçenlerde Rails v3.x uygulamasını Rails 4.1.1 sürümüne yükselttim ve her şey çoğunlukla geçiş için görünüyordu, ancak uygulamayı apache yapılandırmasında geliştirmeden geliştirmeye geçtiğimde dosya, We're sorry but something went wrong hata iletisini alıyorum Geliştirme ortamının çalıştığını biliyorum çünkü development.log dosyasında işlenmekte olan GET isteğini görebiliyorum. Fakat kısa bir süre GET isteği sonra benim durumda günlüğüneRuby on Rails - uyumsuz marshal dosya biçimi

ActionView::Template::Error (incompatible marshal file format (can't be read) format version 4.8 required; 123.34 given):

+0

Büyük olasılıkla, sürümler arasında değişen sınıf nesnelerine serileştirilmiş oturum verilerine sahipsiniz. Oturumları silmeyi deneyin. (Hatanın tam olarak nerede göründüğü ile ilgili bir rapor muhtemelen yararlı olabilir.) – Amadan

+0

"Oturumları silme" ye nasıl giderim? – Chris

+1

'session_store''un yapılandırıldığına bağlı olarak değişir. – Amadan

cevap

6

yılında izleyici kitlesi elde, bu hata beni config\initializers\cookies_serializer.rb yeni cookies_serializer seçeneği ile oynayarak neden oldu.

Geliştirmede :json (yerel çerezlerimin json olarak serileştirildiği anlamına gelir) olarak ayarladıktan sonra seçeneği tamamen kaldırdım ve üretime aldım. Sunucuyu daha sonra geliştirme aşamasında çalıştırırsam, json serileştirilmiş çerezlerim aynı hatayla sonuçlandı. Hiç :hybrid veya :json için cookies_serializer seti ile çalıştırmak varsa

Öyleyse (en azından) :hybrid ile çalışan devam gerekecektir.

+0

Ya doğru. : Hibrid bu sorunu çözmek için gidilecek yoldur. – Francisco