我正在尝试每天在ember中学习新东西,而且我遇到了ember-data和很多关联。
使用了库
Rails 3.2.13
gem act_as_taggable_on
ember RC2
ember-data (rev: 12), RESTfulAdapter
问题
我想添加标记功能,这意味着“向帖子添加和删除标记”。所以我需要一个包含许多标签的帖子模型。但是相同的标签可以在不同的帖子上使用,因此标签也有很多帖子。
Post.js
App.Post = Ember.Model.extend({
title: DS.attr('string')
body: DS.attr('string')
tags: DS.hasMany('App.Tag')
})
Tag.js
App.Tag = Ember.Model.extend({
name: DS.attr('string')
posts: DS.hasMany('App.Post')
})
尝试向帖子添加新标签并提交更改后,我的json有效负载总是错过post_id。
JSON发送到rails
{"tag"=>{"name"=>"test tag name"}}
使用连接模型没有帮助,感觉两者都是糟糕的方法。
我已经阅读了ember-data的测试规范,但没有habtm或类似的测试用例,所以也许它不受支持。
问题
在两侧定义hasMany和belongsTo关联的ember方法是什么,或者有更好的方法来解决我的问题?
如果ember-data不支持它,我的问题怎么解决?
答案 0 :(得分:0)
默认情况下,其余适配器仅在belongsTo端发送外键。您需要覆盖此钩子https://github.com/emberjs/data/blob/master/packages/ember-data/lib/serializers/json_serializer.js#L169以在非嵌入式案例中添加hasMany ID。