У меня есть приложение Rails, которое получает сообщения по категориям, используя show
действие.AngularJS and Rails - сообщения по категориям
Маршрут: /categories/:id(.:format) categories#show
.json
также оказывают должности данной категории, потому что я изменил as_json
способ включить сообщения.
По состоянию на AngularJS части, я использую ui-router
и angular-rails-templates
и у меня есть:
Услуги:
var app = angular.module('app', ['ui.router', 'templates']);
app.factory('categories', ['$http', function($http) {
var o = {
categories: []
};
o.get = function(id) {
return $http.get('/category/' + id + '.json').then(
function(res){ return res.data; }
);
};
}]);
Контроллер:
app.controller(
'CategoriesCtrl',
[
'$scope',
'categories',
'category',
function($scope, categories, category) {
$scope.category = category; //just for testing purposes
}
]
);
Конфигурация
app.config([
'$stateProvider',
'$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider.state(
'category',
{
url: '/category/:categoryId',
templateUrl: 'categories/_categories.html',
controller: 'CategoriesCtrl'
}
);
$urlRouterProvider.otherwise('home');
}
]);
Я не понимаю, что не так. Журнал "Error: [$injector:undef] Provider 'categories' must return a value from $get factory method.
Что он должен возвращать и как?