Serialization save problem

This is my class:

class Articulo < ActiveRecord::Base

  serialize :atributos_extendidos, Hash

  def after_find     self.atributos_extendidos.each do |k,v|       Articulo.class_eval <<-CODE         def #{k}           self.atributos_extendidos ||= {}           self.atributos_extendidos[:#{k}]         end         def #{k}=(val)           self.atributos_extendidos ||= {}           self.atributos_extendidos[:#{k}] = val         end       CODE     end   end end

And I try this in console:

a=Articulo.new(:atributos_extendidos => {:metros => "2",:habitaciones => "4"}) a.save! a

=> #<Articulo id: 5, ... , atributos_extendidos: {:metros=>"2", :habitaciones=>"4"}>

c=Articulo.find(5)

=> #<Articulo id: 5, ... , atributos_extendidos: {:habitaciones=>"4", :metros=>"2"} >

c.habitaciones

=> "4"

c.metros

=> "2"

c.metros = "4"

=> "4"

c

=> #<Articulo id: 5, ... , atributos_extendidos: {:habitaciones=>"4", :metros=>"4"}>

c.save!

=> true

c

=> #<Articulo id: 5, ... , atributos_extendidos: {:habitaciones=>"4", :metros=>"4"} >

c.reload

=> #<Articulo id: 5, ... , atributos_extendidos: {:habitaciones=>"4", :metros=>"2"}> # metros returns to "2"

Why I can't save modified values in :atributos_extendidos? What am I doing wrong? Thanks Juan Matías.