我有帖子和评论模型:
App.Post = DS.Model.extend({
body: DS.attr('string'),
comments: DS.hasMany('comment')
});
App.Comment = DS.Model.extend({
body: DS.attr('string'),
post: DS.belongsTo('post')
})
当我创建新评论并保存时:
var comment = this.store.createRecord('comment');
comment.set('post', post);
comment.save();
它在请求中发出post: 1
数据请求。如何更改它以使用post_id: 1
发出请求?
答案 0 :(得分:1)
我认为这可能是因为您使用的是默认的Ember数据适配器,即RESTAdapter。
RESTAdapter具有与标准ActiveModel :: Serializer约定不同的约定,这就是为什么它将发送post: 1
而不是post_id: 1
尝试将默认适配器切换到ActiveModelAdapter
App.ApplicationAdapter = DS.ActiveModelAdapter.extend({
namespace: 'api'
})
可在此处找到文档http://emberjs.com/api/data/classes/DS.ActiveModelAdapter.html