Emberjs在循环中创建多个记录或createRecord
Emberjs Create many records or createRecord in a loop
所以我遇到了一些复杂的ember问题,我似乎在任何地方都找不到答案,尽管这可能会很晚得到答案,但希望它能帮助到别人。
这种情况的用例
我正在创建一个产品,在这个产品里面有一个属于它的图像。它还有标题和描述。但更独特的是,这款t恤有很多变体,有小、中、大三种,每种变体都有自己的数量和价格。所以在创建产品时,我必须创建产品字段、图像字段和许多变体!精确地说多达3个。然后当我提交表格时,控制器处理所有3种变体和表格。
以下是我所做的。运行验证功能后
$('.variation').manageSize('destroy');//Grabs array in localstorage containing the objects
function create(){
console.log('Create the product now');
var product = prop.store.createRecord('product', {
name: $("input[name='name']").val(),
color: null,
description:$("textarea[name='description']").val(),
createdAt:''
});
var base64 = $('.cropper').cropper("getDataURL");
var image = prop.store.createRecord('image',{
imgSrc:base64.attr('src')
});
var variation;
for(var i = 0; i < variationCheck.length; i++) {
console.log(variationCheck.length);
window[variation+i] = prop.store.createRecord('variation',{
size: variationCheck[i].size,
quantity: variationCheck[i].quantity,
price: variationCheck[i].price,
shippingPrice: variationCheck[i].shipping
});
window[variation+i].save();
}
// Save the new model
image.save();
product.save();
$('.variation').manageSize('destroy');
}
},
我得到了一个错误,可能是因为这根本不应该起作用未捕获的类型错误:无法分配给[对象全局]的只读属性"NaN"但我想,即使有坏代码,我也无法在一个控制器中多次在createRecord上找到任何东西。甚至是如何正确创建记录并反映它在模型中的外观。
产品型号
Ember.Product = DS.Model.extend({
shop: DS.belongsTo('store'),
name: DS.attr('string'),
color: DS.attr('string'),
description: DS.attr('string'),
images: DS.hasMany('image', {embedded: 'always'}),
token: DS.hasMany('token', {embedded: 'always'}),
variations: DS.hasMany('variation', {embedded: 'always'}),
productCategory: DS.belongsTo('productCategory'),
likes: DS.hasMany('like',{embedded: 'always'}),
createdAt: DS.attr('date'),
updatedAt: DS.attr('date'),
publishedAt: DS.attr('date'),
postDate: DS.attr('date'),
postCounter: DS.attr('number'),
published: DS.attr('boolean')
});
这里可能有不止一个错误,但对于错误:
未捕获的类型错误:无法分配给[对象全局]的只读属性"NaN"
问题是你做
var variation;
for(var i = 0; i < variationCheck.length; i++) {
window[variation+i] = ...
variation是未定义的,所以variation+i是NaN,所以您试图重复分配给window[NaN]。
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- AngularJs对所有页面中的所有记录进行排序
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- window.location替换并传递URL历史记录条目中的变量
- Javascript历史记录转换为php行
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 猫鼬在特定记录中查找嵌套记录
- 浏览器何时记录历史记录
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- 更新成员数据模型中的记录列表
- 如何使用提交按钮搜索表中的记录
- 正在OrientDB中嵌入函数中的记录
- 使用Rails 3中的AJAX删除记录
- 用javascript记录传递给回调的参数的约定是什么
- 在页面上记录数据并实现pushstate()的最佳方式
- 输入类型按钮返回历史记录并返回顶部
- 我怎么能把一个错误当作未捕获的错误来记录呢
- HTML5历史记录-返回上一个完整页面按钮
- 如何使用 Backbone 将多条记录呈现到 html 表中.js .
- Emberjs在循环中创建多个记录或createRecord