Ресурс AngularJS с отношением между таблицами

возможно ли это с ресурсом AngularJS?

/api/client/:id/jobs (получить все задания от этого клиента)

/api/client/:id/job/:jobId (получить задание от этого клиента)

Моя фабрика:

.factory('Client', ['$resource', 'Api',
    function ($resource, Api) {

        var Client = $resource(Api.url() + 'client/:id/',
            {
                id: '@id'
            },
            {
                'update'   : { method: 'PUT',  isArray: false }
            }
        );

        return Client;
    }
]);

Спасибо!


person Italo Borges    schedule 10.10.2014    source источник


Ответы (1)


Я нашел решение для моей проблемы.

Мне нужно создать еще одну фабрику, чтобы выполнить эту работу:

.factory('ClientJobs', ['$resource', 'Api',
    function ($resource, Api) {

        var ClientJobs = $resource(Api.url() + 'client/:clientId/job/:jobId',
            {
                clientId: '@Id',
                jobId: '@Id'
            },
            {
                'query':  { method: 'GET', isArray: true },
                'update': { method: 'PUT' }
            }
        );

        return ClientJobs;
    }
]);

И я могу использовать фабрику следующим образом:

ClientJobs.save({clientId:clientId, jobId:job.id}, job, function (result) {
            deferred.resolve(result);
        }, function (reason) {
            deferred.reject(reason);
        });

Теперь все работает.

И в помощь тем людям, которые работают с UI-ROUTER, есть этот вопрос с отличным ответом о сложных состояниях, таких как мое, и вложенных представлениях:

Вложенные представления с вложенными состояниями

person Italo Borges    schedule 16.10.2014