[英]persisting parent and embedded record in ember-data
我有以下型号:
App.Company = DS.Model.extend({
name: DS.attr('string'),
accounts: DS.hasMany('App.Account', {
inverse: 'company'
})
});
App.Account = DS.Model.extend({
login: DS.attr('string'),
first_name: DS.attr('string'),
last_name: DS.attr('string'),
email: DS.attr('string'),
password: DS.attr('string'),
password_confirmation: DS.attr('string'),
company: DS.belongsTo('App.Company')
});
该公司被定义为嵌入在帐户中:
DS.RESTAdapter.map('App.Account', {
company: { embedded: 'always' }
});
当我创建一个新帐户时,公司数据正确嵌入到帐户数据中,我看到了我期望在服务器端发出的POST请求:
Started POST "/accounts" for 127.0.0.1 at 2013-06-27 13:30:53 +0200
Processing by AdminUsersController#create as JSON
Parameters: {"account"=>{"login"=>"fsdfdf", "first_name"=>"fgdfgh", "last_name"=>"fsfdsfdsfsd@fgfdgdfgf.de", "email"=>"dsfdsgds@frgdfgfgdfg.de", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "company"=>{"name"=>"gfdhgtrhzrh"}}}
但是,我也看到了公司本身的额外POST请求:
Started POST "/companies" for 127.0.0.1 at 2013-06-27 13:30:53 +0200
Processing by CompaniesController#create as JSON
Parameters: {"company"=>{"name"=>"gfdhgtrhzrh"}}
我正在设置模型如下:
this.transaction = this.get('store').transaction();
var account = this.transaction.createRecord(App.Account, {});
account.set('company', this.transaction.createRecord(App.Company, {}));
当用户单击“保存”时,我只需提交事务:
this.transaction.commit();
这是一个错误还是我做错了什么? 花了相当一段时间就已经......
感谢帮助!
this.transaction.createRecord(App.Company, {})
代码片段创建单独的公司实体。 真的有这么一个惊喜有它的后期行动吗?
据我所知,在我之前使用的Ember Data的(旧)版本中从未真正支持过。 较新的版本无论如何处理这种情况,所以我说这已经过时并关闭它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.