Backbone.js - 将参数传递给初始化的模型'url'

时间:2012-12-31 10:29:50

标签: ruby-on-rails backbone.js coffeescript

路由器:entries_router.js.coffee

show: (id) ->
  @model = new Raffler.Models.Entry({id: id})
  @model.fetch()

model:entry.js.coffee

class Raffler.Models.Entry extends Backbone.Model

  initialize: (options) ->
    alert(options.id)

  url: '/api/entries/' + id

我正确收到提醒。但是如何将options.id传递给URL?

1 个答案:

答案 0 :(得分:4)

如果您的模型不属于某个集合,请指定Model.urlRoot而不是url。 Backbone将自动生成格式为[urlRoot]/id的网址。

class Raffler.Models.Entry extends Backbone.Model
    urlRoot: '/api/entries'

如果您的模型是集合的一部分,则无需设置urlurlRoot。请改为指定collection.url,Backbone将自动推断该集合中所有模型的网址。