Я искал везде и не могу найти никого с такой же проблемой.
Я тестирую обновление большого приложения Rails под управлением Rails 2.3.8 с Ruby 1.9.2 с использованием rvm и nginx+passenger (в настоящее время работает на 1.8.7 в производстве).
Я использую гем mysql2, и моя база данных использует кодировку UTF-8. Когда я вхожу в приложение (стандартный restful-auth), поиск в базе данных находит совпадение, но когда контроллер пытается сохранить изменение атрибута в модели пользователя, он вызывает ошибку проверки из validates_length_of.
Я добавил некоторые отладочные данные в ActiveRecord, и похоже, что он считает, что все строковые значения моей записи базы данных пусты (отображаются как «[]» в журналах...)
Я видел такое же поведение в скрипте/консоли: User.first.login => "[]", но оно было исправлено после переключения на гем mysql2 (и обновления значения адаптера database.yml).
Почему консоль работает, а через сайт нет? Ошибка ActionController/ActiveSupport??
Уточнение: это стабильное приложение, которое работает более 1 года в версии 1.8.7 с сотнями спецификаций.