1

У меня есть две модели «Автор» и «Издатель» (Rails), с издателем hasOne автор/автор принадлежит отношениям издателя.Ember Данные принадлежат Ассоциации (формат JSON?)

У меня есть правильные установки Ember - JS Fiddle - и ассоциации, работающие при ручном нажатии в магазин. Но только записи издателя создаются при индексировании запросов/издателей.

Я пробовал несколько типов ответов JSON:

Издатели с автором

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author": 1 
     } 
    ], 
    "author": { 
     "id": 1, 
     "name": "Test A 1", 
     "publisher": 1 
    } 
} 

издателей с авторами

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author": 1 
     } 
    ], 
    "authors": [{ 
     "id": 1, 
     "name": "Test A 1", 
     "publisher": 1 
    }] 
} 

издателей с автором внедренных

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author": { 
       "id": 1 
       "name": "Test A 1" 
      } 
     } 
    ] 
} 

Спасибо за любую помощь!

ответ

2

ActiveModelAdapter/ActiveModelSerializer ожидает _id/_ids быть приложены на отношения

{ 
    "publishers": [ 
     { 
      "id": 1, 
      "name": "Test P 1", 
      "author_id": 1 
     } 
    ], 
    "authors": [{ 
     "id": 1, 
     "name": "Test A 1", 
     "publisher_id": 1 
    }] 
} 

http://jsfiddle.net/6Z2AL/1/

+0

спасибо очень. – ndreckshage

+0

Это все еще так? [Это] (http://emberjs.com/api/data/classes/DS.ActiveModelAdapter.html#method_findMany) и [это] (http://emberjs.com/api/data/classes/DS.ActiveModelSerializer.html #method_serialize) заставил меня поверить иначе. – Feech

+1

Да, эта документация автоматически создается, а активный адаптер модели и сериализатор расширяют json-адаптер и сериализатор, который работает без идентификаторов. http://emberjs.com/api/data/classes/DS.ActiveModelSerializer.html#method_serialize и https://github.com/emberjs/data/blob/v1.0.0-beta.8/packages/activemodel-adapter/ Библиотека/система/active_model_serializer.js # L86 – Kingpin2k

Смежные вопросы