SerializationTypeMismatch in Production Mode


#1

In production mode, I keep getting this error the 2nd time it loads a
page with a serialized attribute:

ActiveRecord::SerializationTypeMismatch (answers_container was
supposed to be a Array, but was a NilClass):
/vendor/rails/activerecord/lib/active_record/base.rb:1964:in
`unserialize_attribute’

In development, it works fine. In fact, if I set to false
config.cache_classes in production.rb, it works fine.

The first time you hit the page, it works fine. Upon refresh, it
returns that error.

This happens with both webbrick and litespeed.

The controller code is:

def new
store_location
if request.env[“HTTP_REFERER”]
params[:my_id] = “survey” if
request.env[“HTTP_REFERER”].include? “survey”
end
@question = Question.new
@question.answers_container = Array.new(2, “”)
@question.creator_message = current_user[:note] if logged_in?
end

In my model, I define the serialized attribute as such:
serialize :answers_container, Array

I was running rails 1.2, then upgraded to 1.2.2 after seeing I have
this problem. I believe when I was running 1.1.6 I did not have this
problem.

Does anyone have any suggestions?

Steve


#2

What databases are you using (mysql? postgres?, …) ? Are they
different in development and production?

-carl

On 2/18/07, removed_email_address@domain.invalid removed_email_address@domain.invalid wrote:

config.cache_classes in production.rb, it works fine.
if request.env[“HTTP_REFERER”]


EPA Rating: 3000 Lines of Code / Gallon (of coffee)


#3

Both mysql. Everything is the same. In fact, on my local machine, both
production and development databases use the same mysql database.