0

私は主にRyan BatesのRailのangularアプリのセットアップに従いました。私の宝石ファイルで:

gem 'angularjs-rails'

そしてapplication.jsで:

//= require angular
//= require angular-resource
//= require turbolinks
//= require_tree .

これが、views/pages.home.html からのすべての関連コードであると私が信じているものです。

<body data-ng-app="dithat">
  <div class="container" data-ng-controller="accomplishmentController">
    <p> What'd you do? </p>
    <form ng-submit="submit()">
      <input type="text" ng-model="newAccomp" />
    </form>
    <div data-ng-repeat="accomp in accomplishments | filter:newAccomp" >
      <div class="box" ng-click="addToCount()">
        <div class="accomplishment">
          {{ accomp.name }}
          <a href="#" ng-click="delete()" class="x">x</a>
          <p class="count"> {{ accomp.count }} </p>
        </div>
      </div>
    </div>
  </div>  

  <script type="text/javascript">
    app = angular.module("dithat", ["ngResource"]);
    function accomplishmentController($scope, $resource) { 
      Entry = $resource('/api/users.json');
      console.log(Entry.query());
      $scope.accomplishments = [];
      $scope.submit = function() {
        $scope.accomplishments.unshift({ name: $scope.newAccomp, count: 0 });
        $scope.newAccomp = '';
      }
      $scope.addToCount = function() {
        var currentcount = this.accomp.count;
        this.accomp.count = currentcount + 1;
      }
      $scope.delete = function() {
        index = this.$index;
        $scope.accomplishments.splice(index, 1)
      }
    }

  </script>  
</body>

アプリが本来の動作をしているように、コードは機能しますが、リソース呼び出しを行っていません。これも試してみましたが$http、うまくいきませんでした。何が欠けていますか?? !! どうもありがとう!

4

1 に答える 1

1

コメントによると:

accomplishmentController関数は定義されていますが、angular を使用して登録する必要があります。

app.controller('accomplishmentController', accomplishmentController)

そうしないと、使用できなくなります (必ずしもエラーが発生するわけではありません)。

于 2013-10-15T20:49:06.167 に答える