Cheers! I have some model, and one attribute of it is an array, but for some reasons (I use mongoDB on the server and it's problem with embedded models and ember-data) I can't do somthing like this:
App.Foo = DS.Model.extend({
...
numbers: DS.hasMany('App.Bar')
)};
App.Bar = DS.Model.extend({
...
number: DS.attr('number')
});
I need something like this:
App.Bar = DS.Model.extend({
numbers: DS.attr('array')
});
But there is no array type of attributes in ember-data, how to be?
I found that actually you can have array properties out of the box by just not specifying a type.
#coffeescript
AskuWhiteLabel.SomeModel = DS.Model.extend
some_ids: DS.attr()
I'm using this, and when I do this
myModel.set('some_ids', [1,2,3])
myModel.save()
The payload to the server is indeed my array as is.
For those, who have the same problem as me: check out this answer:
https://stackoverflow.com/a/13884238/1662820
Or you can pass embedded models with hasMany relation and set custom primary key for embedded model in the adapter ('number' in my case). Look at this tests:
https://github.com/emberjs/data/blob/master/packages/ember-data/tests/integration/embedded/embedded_without_ids_test.js
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With