@alexnotonfire

Как получить правильный response от API? Error: [filter:notarray] Expected array but received?

Мне необходимо отправить запрос на API и получить response в следующем виде

workers: Array[2]
count_items: 2


Но дело в том, что я получаю вот такую ошибку в консоли:

Error: [filter:notarray] Expected array but received: 
{"workers":
[{"id":15,"user_id":17,"company_id":20,"created_at":"2016-04-08T10:15:59.775Z","updated_at":"2016-04-08T10:15:59.775Z","info":{"first_name":"George","last_name":"Lucas","email":"george@gmail.com"},"deleted_at":null,"name":"dsadsa dsadsa"},
{"id":16,"user_id":5,"company_id":20,"created_at":"2016-04-08T10:16:08.446Z","updated_at":"2016-04-08T10:16:08.446Z","info":{"first_name":"Sam","last_name":"Mitch","email":"sam@yahoo.com"},"deleted_at":null,"name":"dsad dsadas"}],
"count_items":2}


Вот мой API экшн на Rails:

class CompanyWorkersController < ApplicationController
  def index
    render json: { workers:   company.company_workers.page(params[:page])
                  .as_json(methods: :name),
                   count_items: company.company_workers.length }
  end
end


Моя factory:

factory('CompanyWorkers', [
  '$resource', function($resource) {
    return $resource('/company_workers/:id/:action', {id: '@id'}, 
      { 'query': { isArray: false } }
    );
  }
]);


И наконец, запрос на API:

CompanyWorkers.query({ page: options.page }, function(response) {

  console.log(response);

});


Что я делаю не так тут и как мне исправить проблему? Благодарю заранее.
  • Вопрос задан
  • 447 просмотров
Решения вопроса 1
Дело не в $recourse, он работает корректно.
Ошибку бросает фильтр. https://github.com/angular/angular.js/issues/9992#...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы