Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 茉莉花试验_Backbone.js_Coffeescript_Jasmine_Backbone Relational - Fatal编程技术网

Backbone.js 茉莉花试验

Backbone.js 茉莉花试验,backbone.js,coffeescript,jasmine,backbone-relational,Backbone.js,Coffeescript,Jasmine,Backbone Relational,更新: 我有一个简单的主干关系模型: @App.M.Product = Backbone.RelationalModel.extend defaults: {} url: App.D.dataURL relations: [ { type: Backbone.HasMany key: 'templates' relatedModel: 'App.M.Template'

更新:

我有一个简单的主干关系模型:

@App.M.Product = Backbone.RelationalModel.extend
    defaults: {}
    url: App.D.dataURL
    relations: [
        {
            type: Backbone.HasMany
            key: 'templates'
            relatedModel: 'App.M.Template'
            collectionType: 'App.C.Templates'
            reverseRelation:
                key: 'product'
        }
        {
            type: Backbone.HasMany
            key: 'pages'
            relatedModel: 'App.M.Page'
            collectionType: 'App.C.Pages'
            reverseRelation:
                key: 'product'
        }
        {
            type: Backbone.HasMany
            key: 'uploaded_images'
            relatedModel: 'App.M.UploadedImage'
            collectionType: 'App.C.UploadedImages'
            reverseRelation:
                key: 'product'
        }
    ]
    initialize: ->
        if @get('minimumNumberOfPages') < 1
            @set 'minimumNumberOfPages', 1
    fixPages: ->
        col = @get 'pages'
        col.each (page) ->
            page.collection = col
但是,模型未能初始化(取自testem的终端输出):

TypeError:无法读取未定义的属性“prototype”
在Backbone.HasMany.Backbone.Relation.extend.initialize处(http://localhost:7357/app/bower_components/backbone-关系/主干关系(js:835:78)
在主干上。关系(http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:537:9)
初生子女(http://localhost:7357/app/bower_components/backbone/backbone-min.js:1:25220)
在uu.扩展.初始化(http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:137:5)
在空。(http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:1176:31)
at Array.forEach(本机)
在功能区,每个功能区(http://localhost:7357/app/bower_components/underscore/underscore-min.js:1:599)
在Backbone.RelationalModel.Backbone.Model.extend.initializeRelations处(http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:1175:6)
位于Backbone.RelationalModel.Backbone.Model.extend.set(http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:1373:11)
在主干。模型(http://localhost:7357/app/bower_components/backbone/backbone-min.js:1:3929)

为什么呢?应用程序运行正确,测试不正确。

因此错误为
参考错误:产品未定义。这是因为您在
函数之前的和测试中的中定义了它,因此这两个函数不相同,测试中未定义。您必须在描述块中定义它:

“严格使用”

描述‘产品’,-> product=null

beforeEach ->
    product = new App.M.Product

it 'should be defined', ->
    expect(product).toBeDefined()

对于另一个错误
TypeError:cannotreadproperty'prototype'of undefined
,您似乎没有在
collectionType
下添加集合。因此,插件正在全局名称空间中查找
App.C.Pages
,并尝试获取对象的原型。但正如错误所说,它没有定义

谢谢,这对第一部分很有帮助。其余的呢?
TypeError: Cannot read property 'prototype' of undefined
    at Backbone.HasMany.Backbone.Relation.extend.initialize (http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:835:78)
    at Backbone.Relation (http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:537:9)
    at new child (http://localhost:7357/app/bower_components/backbone/backbone-min.js:1:25220)
    at _.extend.initializeRelation (http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:137:5)
    at null.<anonymous> (http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:1176:31)
    at Array.forEach (native)
    at Function.w.each.w.forEach (http://localhost:7357/app/bower_components/underscore/underscore-min.js:1:599)
    at Backbone.RelationalModel.Backbone.Model.extend.initializeRelations (http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:1175:6)
    at Backbone.RelationalModel.Backbone.Model.extend.set (http://localhost:7357/app/bower_components/backbone-relational/backbone-relational.js:1373:11)
    at Backbone.Model (http://localhost:7357/app/bower_components/backbone/backbone-min.js:1:3929)
beforeEach ->
    product = new App.M.Product

it 'should be defined', ->
    expect(product).toBeDefined()