2013-02-16 4 views
1

У меня есть node.js backend, используя экспресс-ресурс для управления монгольскими моделями.Магистральные модели url chaining

У меня есть MarionetteJS Frontend.

В моем примере два объекта - это организация и проект.

Мой сервер concats ресурс к URI, как example.com/api/v1/organization/12/project

Идентификаторы уникальны, как я служить им из MongoDB. он будет работать, если я сделаю только ../project/2

Но для получения проектов внутри организации я могу сделать только первый из-за безгражданства.

Теперь у меня есть модели с маком на стороне клиента. Я определяю базовый url как api/v1/organization, это прекрасно работает, но как я могу получить проекты для организации? Нужно ли мне создавать новую модель с базовым url, например api/v1/organization/:orgId/project?

Как это сделать?

Надеюсь, вы поймете, что я хочу сказать, любая помощь оценена!

ответ

1

Вы могли бы сделать что-то вроде этого:

var ProjectModel = Backbone.Model.extend({ 
    initialize: function(attrs, options) { 
     if(options && options.organizationId){ 
      this.urlRoot = 'example.com/api/v1/organizations/' + options.organizationId + '/projects'; 
     } 
    } 
}); 

var ProjectCollection = Backbone.Collection.extend({ 
    initialize: function(models, options) { 
     this.url = 'example.com/api/v1/organizations/' + options.organizationId + '/projects'; 
    }, 
}); 

// fetch one single project, not in a collection 
var model = new ProjectModel({id: 4}, {organizationId: 7}); 
model.fetch(); 

// fetch all projects 
var collection = new ProjectCollection(null, {organizationId: 7}); 
collection.fetch(); 

Когда модель в коллекции, он не нуждается в urlRoot, так Магистральная будет использовать url коллекции в модели в качестве основы.

+0

Я думаю, я тоже могу создать коллекцию, но как мне их соединить, потому что, если у меня есть коллекция с соответствующей моделью, эта модель не подходит или я ошибаюсь? – pfried

+0

У вас будет коллекция проектов? Позвольте мне обновить его. –

+0

было бы хорошо для некоторых просмотров – pfried

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