Немного больше информации, чтобы помочь вам понять, почему это произошло:
Извлеките файл db/schema.rb
- он содержит представление вашей базы данных в Ruby, обновляемое при каждой миграции. Модели в Rails основывают свои атрибуты на этом файле.
Таким образом, при миграции в режиме разработки файл схемы обновляется. Когда вы переходите в рабочий режим, этот файл сохраняется, и Rails не знает, что столбцы, которые вы пытаетесь назначить, не существуют. Таким образом, объект, который вы обновляете, принимает присвоение атрибута, отправляет запрос и движется дальше, не замечая, что атрибут действительно не сохранен.
Это мое понимание - надеюсь, это поможет вам в ваших поисках!