Rails 5 - пустой массив не сериализован в NULL? - PullRequest
0 голосов
/ 06 февраля 2019

В соответствии с документацией Rails 5 пустой массив должен быть сериализован в NULL:

Пустые объекты как {}, в случае Hash или [], вслучай массива всегда будет сохраняться как ноль.

Возможно, я ошибся, но мой пустой массив всегда сериализуется как --- [] (YAML) или [] (JSON) вбаза данных.Кроме того, сериализация работает нормально и, как и ожидалось.

Я спрашиваю, потому что мы в настоящее время запускаем Rails 4, но мы можем захотеть перейти на Rails 5. Но тогда поведение изменится с [] на NULL (так каквышеприведенное предложение отсутствует в документации по Rails 4).Поэтому я подумал о написании собственного сериализатора для Rails 4, который также использует NULL вместо [], но похоже, что в этом нет необходимости.

Для полноты:

class TestModel < ActiveRecord::Base  
    serialize :test_attribute, JSON #doesn't matter if it's JSON, Hash or YAML
end

TestModel.create(test_attribute: [])

Любойидеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...