Hrrrm ... это странно, я вижу подобное поведение в моем приложении rails, когда пытаюсь сделать:
@s.name << "test"
и затем перезагрузить ... исходное имя сбрасывается!
ОДНАКО, если я делаю @ s.name + = "test"
, то даже после перезагрузки новое имя сохраняется.
Я не уверен, почему <<ведет себя так, но я обычно по умолчанию + = во всех случаях, поэтому я никогда не замечал этого раньше.Поможет ли вам изменение на + =? </p>
Редактировать: Глядя на API, возможно, это потому, что << изменяет исходную строку, тогда как + или + = создает новую строку, которая содержит старую?Может быть, рельсы каким-то образом только сохраняют вещи, которые были помечены как новые (а не модифицированные?) </p>