嵌套模型不是作为蝙蝠侠对象创建的

时间:2014-08-25 06:29:47

标签: associations batman.js

鉴于以下具有一对多关系的模型:

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

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

我的评论包含在后端帖子的JSON中。由于我有@encode 'comments',评论会添加到帖子中。但是,它们被添加到一个简单的JS对象数组中,而不是Batman对象的关联集。

我是否应该像这样明确解码它们

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

或者我在这里做些蠢事?

1 个答案:

答案 0 :(得分:1)

@hasMany "comments"应自动设置编码器以从JSON加载comments

你有没有提到你添加了自己的编码器,比如

@encode 'comments'

如果是,则覆盖由@hasMany 'comments'创建的那个。尝试删除@encode 'comments'。这有帮助吗?