1

我正在制作一个杂货清单应用程序,它与待办事项列表非常相似。我有几年的 Rails 开发经验,但在从所有示例中找出要放入集合中的内容以及制作模型的内容时遇到了麻烦。

我用 Sinatra 和 Redis 作为后端模拟了这个应用程序。我的目标是让 Sinatra 成为简单的 API,并让主干管理所有视图。

现在,Grocery 列表只是一个复杂的 ID,其中包含一组字符串项。所以像:

/lists/asdfasdf34asdf => ["eggs", "bacon", "milk"]

转到主干,我会将模型设为“项目”,然后集合将成为“列表”,还是其他?

我想我的路线不是经典的休息,所以也许这就是为什么我很难弄清楚在哪里做什么。

4

1 回答 1

2

如果只有一个购物清单,a Collectionof item Models 可能是合适的。Backbone 对事物的组织方式没有太多规定,但您肯定希望以url合乎逻辑的方式设置每个模型/集合的属性。你可能会做这样的事情:

var app = {
  item: Backbone.Model.extend({
    // define an item model to go in the itemCollection
  }),
  itemCollection: Backbone.Collection.extend({
    initialize: function (key) {
      this.key = key;
    },
    model: app.item,
    url: function () {
      return 'lists/' + this.key + '/items/'
    }
  })
}

然后按照以下几行实例化每个版本的应用程序:

var userListKey = 'foobar',
    userCollection = new app.itemCollection(foobar);

// proceed with app. Requests for userCollection will now be
// directed to /lists/foobar/items

还有很多其他方法可以做到这一点,但希望这是一个开始。

于 2012-04-24T01:53:47.617 回答