Extending a model breaks one-to-many relationship
navels opened this issue · 0 comments
navels commented
We're running into issues around polymorphism upgrading our app to v3 and I think I've found a bug.
I took the one-to-many twiddle from this blog post and
- subclassed the author model with
robot.js
Just that one thing, without actually creating any robots or robot books, etc., was enough to break the linkage of books back to authors:
{
"authors": [
{
"name": "John Steinbeck",
"bookIds": [
"1",
"2",
"3"
],
"id": "1"
}
],
"books": [
{
"title": "Of Mice and Men",
"authorId": null,
"id": "1"
},
{
"title": "The Grapes of Wrath",
"authorId": null,
"id": "2"
},
{
"title": "Travels with Charley",
"authorId": null,
"id": "3"
}
],
"robots": []
}
Here is my twiddle showing this behavior:
A workaround is to repeat the association on the derived model:
import Author from './author';
import { hasMany } from 'ember-cli-mirage';
export default Author.extend({
books: hasMany()
});
or use this form to create books:
server.create('book', {
author,
title: 'Of Mice and Men'
});