Nested models not created as batman objects

32 Views Asked by At

Given the following models with one-to-many relationship:

class App.Post extends Batman.Model
  @hasMany 'comments'

class App.Comment extends Batman.Model
  @belongsTo 'post'

My comments are included in the JSON of the post from the backend. Since i'm having @encode 'comments' the comments are added to the post. However, they are added in an array of simple JS objects instead of an associationset of Batman objects.

Should I really decode them explicitly like this

@encode 'comments',
  decode: (value, key, incomingJSON, outgoingAttributes, record) ->
    outgoingAttributes = App.Comment.createMultipleFromJSON(incomingJSON.comments)

or am I doing something stupid here?

1

There are 1 best solutions below

0
On BEST ANSWER

@hasMany "comments" should automatically set up an encoder to load comments from JSON.

Did you mention that you added your own encoder, like

@encode 'comments'

?

If so, that is overriding the one created by @hasMany 'comments'. Try removing the @encode 'comments'. Does that help?