2012-03-20 3 views
3

У меня проблема, обертывающая голову вокруг реляционных моделей в Backbone. Я только начал использовать его, и мне поручено довольно большое приложение.Отношения Backbone.js

Основная проблема, с которой я сталкиваюсь, заключается в том, что у меня есть модель, которая должна содержать коллекцию.

Это то, что я должен работать с:

  • Modela
    • ID: _id
    • URL: апи/модель /: modelA_id
    • вложенной:
      • URL : api /: modelA_id/гнездо

Я думаю, что я делаю это большую сделку, чем мне нужно, но я просто не могу показаться, чтобы обернуть вокруг головы, как установить это.

Любая помощь будет оценена по достоинству.

+0

Вы используете 'магистральную-relational' плагин для этого? Просто пытаюсь прояснить. Не помешает показать ваш фактический код. –

+0

Да, я использую этот плагин. На данный момент у меня есть только базовый код, который находится в документации, чтобы установить отношения. Однако я не уверен, как вытащить modelA_id в URL-адрес вложенной коллекции. Думаю, это моя первая проблема. – MikeD

ответ

9

Самая большая вещь, чтобы обернуть голову с помощью базовой линии, - это как правильно использовать события, чтобы иметь дело с главным образом в приложении. Другая большая вещь для понимания заключается в том, что существует, вероятно, 5 различных способов атаки на проблему, где ни один из них не лучше/хуже, чем другой.

Учитывая, что рыхлая структура вы предоставили, я хотел бы сделать что-то вроде:

var YourApp = { 
    Models : {} 
    Collections : {} 
    Views : {} 
}; 

YourApp.Models.First = Backbone.Model.extend({ 
    initialize : function(){ 
     var nestedCollection; 
     this.url = 'api/model/' + this.id; 
     nestedCollection = new Backbone.Collection({ 
     url : this.url + '/nest' 
     }); 
     this.set('nested', nestedCollection); 
    } 
}); 

new YourApp.Models.First({ 
    id : 23 
}); 
+0

Согласен, нет ничего, говоря, что один из ваших атрибутов моделей не может быть базовой сетью. – ryanmarc

+0

Это делает гораздо больше смысла. Большое спасибо. Магистраль сложная, чтобы обернуть голову. – MikeD

Смежные вопросы