MyModel.new.from_json не предоставляет данных в Rails 3.0.3 - PullRequest
1 голос
/ 06 февраля 2011

У меня есть некоторый код на Rails 2.3.x, который я хотел бы запустить на Rails 3.0.3, но, похоже, он не работает в моем коде JSON to ActiveRecord.Вот что я делаю:

mymodel = MyModel.new.from_json(json_string)

Я не получаю ошибок здесь, но мой объект пуст, как будто в моей json_string не было данных, но есть.Если я смотрю на API (http://apidock.com/rails/ActiveRecord/Serialization/from_json), то мне кажется, что он не поддерживается в 3.x, или?

Я пробовал с ActiveSupport :: JSON.decode, но это декодирует в хеш-таблицуключей / значений кажется?

1 Ответ

0 голосов
/ 13 марта 2011

Та же проблема здесь. Виновник https://github.com/rails/rails/commit/c1d73270717f30498f8f4d55d6695509107c2834, вот объяснение: http://www.simonecarletti.com/blog/2010/04/inside-ruby-on-rails-serializing-ruby-objects-with-json/

Решение, похоже, действительно использует

   @obj.attributes = ActiveSupport::JSON.decode(json)

вместо "@ obj.from_json (json)". По крайней мере, для объектов ActiveRecord, это работает для меня.

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