2016-12-27 30 views
0

私はAngularの新機能で、Railsアプリケーションで使用しようとしていました。しかし、私は次のエラーを受け取りました。あなたが適切コントローラに依存Memberを注入する必要が未定義のプロパティ 'index'を読み取ることができません

TypeError: Cannot read property 'index' of undefined

app.jsコード(メンバーディレクトリ内)

angular.module('ticket', ['ngResource', 'ui.router', 'templates']) 
.controller('AppCtrl', ['$rootScope', function($rootScope) { 
    var _this = this; 
    return $rootScope.$on('$routeChangeSuccess', function(event, current, previous) { 
     return $rootScope.pageTitle = $route.current.title; 
    }); 
}]) 
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('home', { 
      url: '/home', 
      templateUrl: 'home/_home.html', 
      controller: 'MainCtrl' 
     }) 
     .state('members', { 
      url: '/members', 
      templateUrl: 'members/_members.html', 
      controller: 'MemberCtrl' 
     }) 
     .state('guards', { 
      url: '/guards', 
      templateUrl: 'guards/_guards.html', 
      controller: 'GuardCtrl' 
     }) 
     .state('tickets', { 
      url: '/tickets', 
      templateUrl: 'tickets/_tickets.html', 
      controller: 'TicketCtrl' 
     }); 
    $urlRouterProvider.otherwise('home') 
}]); 

memberCtrl.jsコード

angular.module('ticket') 
.factory('Member', ['$resource', function($resource) { 
    return $resource("/members/:id", {id: "@id"}, { 
     get: { method: 'GET'}, 
     save: { method: 'POST'}, 
     index: { method: 'GET', isArray: true}, 
     remove: { method: 'DELETE'}, 
     "delete": { method: 'DELETE'}, 
     update: { method: 'PUT'} 
    }); 
}]) 
.controller('MemberCtrl', ['$scope', function($scope, Member) { 
    console.log(Member.index()); 
    $scope.members = Member.index(); 
}]); 

答えて

6

に。

.controller('MemberCtrl', ['$scope', 'Member', function($scope, Member) { 
            //^^^^^^^^^^ 

代わりの

.controller('MemberCtrl', ['$scope', function($scope, Member) { 
関連する問題