【问题标题】:Backbone Model Structure骨干模型结构
【发布时间】:2012-05-04 15:52:54
【问题描述】:

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

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

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

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

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

我猜我的路线不是经典的 Rest,所以也许这就是为什么我无法弄清楚在哪里做什么。

【问题讨论】:

    标签: backbone.js


    【解决方案1】:

    如果只有一个购物清单,Collection 项目 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
    

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

    【讨论】:

    • 很棒的答案。感谢您的反馈!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2015-03-13
    • 2014-06-25
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多