Три вещи:
Во-первых, где бы ни был определен ваш класс целей, убедитесь, что он загружен. В какой-то момент Rails прекратил автозагрузку вещей в папке lib. Поэтому, где бы ни находились ваши дополнительные классы, установите их в config.autoload_paths (в config / application.rb).
Во-вторых, когда вы объявляете столбец как сериализованный, у вас есть возможность указать класс. Это особенно полезно, когда вы работаете с пользовательским классом и хотите убедиться, что Rails выполняет преобразование правильно.
serialize :value, Goal
В-третьих, когда у вас есть столбец, который сериализуется, убедитесь, что у вас достаточно места для него. Другими словами, большую часть времени вы захотите, чтобы этот столбец был «текстовым», а не «строковым» в вашей схеме (в противном случае ваш движок sql молча обрежет все, что слишком велико, чтобы поместиться в строковый столбец, и в конечном итоге сохранить сломанный объект).