Меня удивляет, что об этом еще не спрашивали, поэтому я надеюсь, что делаю что-то в корне неправильно, и скоро помощь придет У меня есть это
create_table "foo", :force => true do |t|
t.text "bar", :null => false
...
end
class Foo < AR::Base
serialize :bar, Bar
end
class Bar
def initialize(hsh)
@data = hsh # and some more code...
end
end
Теперь, когда я добавлю
class Foo < AR::Base
before_validation :get_bar, :on => :create
def get_bar
self.bar = Bar.new({})
end
end
Я не могу создать объекты Foo, потому что назначение Bar вызывает SerializationTypeMismatch. Я отладил это и обнаружил, что значение bar по умолчанию является пустой строкой, и AR проверяет это и завершается ошибкой.
Вопрос в том, как от него избавиться.