Выпуск Factory Girl to_json - PullRequest
       2

Выпуск Factory Girl to_json

0 голосов
/ 08 ноября 2010

Когда я вызываю to_json для моего объекта Factory Girl, я получаю ошибку nil. [].

Я использую DataMapper на Rails 3, и когда я вызываю to_json для реального объекта DataMapper, это работаетпросто хорошо.Любая идея, почему объект Factory Girl не работает?

Factory.define :something do |b|
  b.date_foo { 3.days.ago - 4.hours }
  b.date_bar { 3.days.ago - 4.hours }
  b.somestring '11'
  b.anotherstring 'ASTRINGYAY'
  b.thirdstring 'STRINGG'
  b.fourthstring 'STRING'
  b.otherstring 'thestring'
  b.longerstring 'The string that is longer'
  b.somenumber 3
  b.someothernumber 2
  b.an_id 5593
  b.a_version '1.2.2.2'
  b.a_string '1.2.2.2'
  b.something '1.2.2.2'
  b.code 'SOME CODE'
  b.other_code 'API'
  b.something_id 49
  b.something_version 'OMG'
  b.otherthing 'N/A'
  b.lastthing 'A'
end

Кроме того, я обнаружил следующее:

factory_girl_object.to_json отлично работает.

[factory_girl_object].to_json не удается.

DataMapper очевидно использует объекты DataMapper :: Collection вместо массивов, которые обрабатывают to_json немного по своему содержанию, чем массивы.Однако я не могу понять, как создать объект DataMapper :: Collection для хранения моих объектов Factory_Girl.

Мысли?

1 Ответ

0 голосов
/ 26 января 2011

Ха, может с таким же успехом вернуться и ответить на этот вопрос.

DataMapper обслуживает объекты в специализированной массивообразной структуре данных, которая обрабатывает сериализацию JSON для вас.Если вы попытаетесь поместить объекты DM в обычный массив, он ужасно потерпит неудачу, породив ошибки, о которых я упоминал выше.

...