保存模型的ember.js会从UI中删除元素

时间:2014-10-08 12:10:53

标签: javascript ember.js

我继承了一个基于Rails API构建的Ember.js应用程序。这最初运行如下:

Ember.VERSION : 1.0.0 ember.js
DEBUG: Handlebars.VERSION : 1.0.0 ember.js
DEBUG: jQuery.VERSION : 1.10.2   

但这些已更新为以下内容:

Ember      : 1.7.1+pre.f095a455 ember.js
DEBUG: Ember Data : 1.0.0-beta.10+canary.30d6bf849b ember.js
DEBUG: Handlebars : 1.3.0 ember.js

使用ember-rails gem。

我有一个绑定到UI元素的动作来创建一个新模型并将其插入到一行项目中的页面中。这适用于之前的旧应用程序,但不适用于新应用程序。

单击操作按钮时,将创建新模型,传递行对象和初始部分数据。仅供参考,这是在sections_controller.js文件中,而不是路径。

_createSection: function(row, new_section_data){
new_section_data.row      = row;
new_section_data.width    = this.getNewSectionWidth(row);
new_section_data.position = this.getNewSectionPosition(row);

var store = this.get('store');
var new_section = store.createRecord('section', new_section_data);
new_section.save();

new_section.one('didCreate', function(){
  new_section.set('set_as_selected', true);
}.bind(this, new_section))

return new_section;
},

只要调用store.createRecord()方法,就会出现问题。 UI布局实际上删除了应该放置项目的行块元素,并且它不会返回或更新新插入的项目,它应该是。

我可以从Ember chrome插件中看到原始数据存储在商店中,但不一定是使用API​​发送到远程数据库。但主要问题是创建记录后会丢失UI。

我无法显示太多代码,但是有人知道为什么会发生这种情况吗? didCreate方法确实运行,但丢失UI是一个大问题。我对Ember来说还不够新,因此仅仅通过Ember数据之间的这些更改来更新遗留应用程序就显得有些棘手了。

非常感谢您提供任何帮助。

0 个答案:

没有答案