使用 Ember-Model 创建新记录
Creating New Record using Ember-Model
我挣扎了几个小时试图使用Ember-Data来工作,但没有结果,所以我想我尝试一下Ember-Model;仍然没有快乐。
我有以下几点:
App.Item = Ember.Model.extend({
itemName: Ember.attr(),
});
App.Strat = Ember.Model.extend({
stratName: Ember.attr(),
items: Ember.hasMany('App.Item',{key: 'items', embedded: true});
App.Strat.adapter = Ember.FixtureAdapter.create();
App.Strat.FIXTURES =
[
{id: 1, stratName: 's1', items:
[{id: 1, itemName: 'I1'}]},
{id: 2, stratName: 's2', items:
[{id: 2, itemName: 'I2'},
{id: 3, itemName: 'l3'}]}
];
到目前为止,一切似乎都很好。 我能够通过模板显示夹具数据。 我想做的是允许用户添加额外的层记录,通过在屏幕上显示预先填充的层记录,允许用户进行修改,然后将其与从夹具数据加载的两个层记录一起保存。 我尝试了以下方法:
var dummyStrat =
{id: 100, stratName: "s5", items:
[{id: 101, itemName: "I5", strategy: 100}]};
var newStrat = App.Strat.create (dummyStrat);
newStrat.save();
这生成了以下错误:
TypeError: this.get(key).toJSON 不是一个函数。
但是如果我这样做没有错误:
var dummyStrat =
{id: 100, stratName: "s5"};
var newStrat = App.Strat.create (dummyStrat);
newStrat.save();
我做错了什么?
如果从创建调用中删除策略:100 会发生什么情况?我的应用程序中的代码几乎相同,除了我没有设置任何在我的模型中还不是属性的变量。
我的另一个建议是尝试将 items 键重命名为 stratItems,以便键与计算的 hasMany 属性的名称不同。
相关文章:
- CRM 2011-在插入新记录或修改现有记录时捕获子网格的事件
- jQuery.bind或.on习惯于绑定到新记录
- 如何观察在 Sails .js 中添加到模型中的新记录
- 如何在添加新记录时附加委托
- 添加新记录时删除了 ExtJs 现有记录
- Jquery:为新数据创建寻呼机(next-prev按钮)
- Sequelize多对多-如何创建新记录并更新联接表
- 新动态创建的(通过javascript)html内容在头中看不到以前使用的javascript文件
- 在网页上添加已加载记录的新记录
- 如何使用angularJs/Javascript/Jquery获取表的最后一条记录并更新列值并插入到具有新记录的同一列
- 每次提交表单时都使用新名称创建对象
- 使用 Ember-Model 创建新记录
- 挖空.js单击按钮后使用数据创建新记录
- 摆脱形式,仅使用按钮创建新记录
- 使用敲除foreach每隔2条记录创建一个新行
- 无法创建新记录
- 创建新记录并使用成员数据提交事务
- SailsJS-使用自定义ID创建新记录
- 在Aurelia中创建新记录——JSON编码错误
- 未捕获的ReferenceError:在剑道网格中创建新记录时未定义CustomerContract