在创建新模型时将模型url与集合url关联
Associating a model url with the collection url while making a new model
我正在尝试创建一个新模型并将其保存在服务器上。我的问题是,当我做model.save(obj)
,它抛出一个错误A "url" property or function must be specified
。
我已经在集合中指定了一个url,我希望使用它。
我的代码: class TestModel extends Backbone.Model
initialize: ->
return;
module.exports = TestModel
class TestCollection extends Backbone.Collection
model: TestModel
url: '/models'
parse :(response) ->
return response.data
addModel : (data)->
newModel = new TestModel(data)
newModel.save()
@add(newModel)
module.exports = new TestCollection()
我像这样调用addModel函数
Tests = require 'path/to/test collection'
Tests.addModel(data)
抛出错误A "url" property or function must be specified
如果我修改我的addModel函数如下,它工作!:
addModel : (data)->
newModel = new TestModel(data)
@add(newModel)
newModel.save()
我做错了什么?我想在save()
您得到A "url" property or function must be specified
错误,因为它在这一行失败
你最后的代码工作,因为模型添加到集合有引用model.collection
,所以在这种情况下save
方法可以解析url。要使您的初始代码工作,您应该像下面这样为您的模型提供urlRoot
:
class TestModel extends Backbone.Model
urlRoot: '/models'
initialize: ->
return;
module.exports = TestModel
根据文档:
如果你使用集合之外的模型,指定一个urlRoot,以启用默认的url函数来基于模型id生成url。"urlRoot/id"
相关文章:
- AngularJs 切换模板 URL 并访问模型数据
- 主干.js更改模型的 url 参数,提取不会更新获取的数据
- Ionic Popover模板URL和angular ng模型没有't同步
- AngularJS-基于URL更新模型
- 将模型/对象放在Http Get-URL上
- 当模型在Angular中更改时,自动更新深度链接的url
- 主干模型销毁未传递模型 ID 的 url
- 以 json 或 url 编码格式发送 js 模型
- Ember.js:使用模型实例的路由获取模型实例的 url 字符串
- 如何阻止单个模型将其 id 添加到 Backbone 中的 url
- 使用动态 URL 初始化时保存主干模型
- 主干模型如何知道要使用哪个 RESTful URL
- 使用干净的url将模型传递给chaplinjs中的其他控制器
- 主干集合和模型url,批量模型集合保存
- Backbone.js模型:创建和保存的URL不同
- 如何在从多个url提取模型时呈现视图
- Ampersand模型找不到其url
- 用模型信息填充JSTree中的AJAX url
- 模型销毁调用了不正确的REST url
- 如何为我的所有BackboneJS模型/集合REST调用添加一个基本URL