sub! problem

I had a problem caused by the sub! function.
What I did:
myobj = Model.create({"field"=>"text"})
myobj.field.sub! "text", "replacedwith"
myobj.save
puts myobj.field
#returns replacedwith
myobj.reload
puts myobj.field
#returns text

using this line it works
myobj.field = myobj.field.sub "text", "replacedwith"

I am using rails 4.1.5 and ruby 2.0.0