Ruby on rails 在Angularjs中显示记录-新手

Ruby on rails 在Angularjs中显示记录-新手,ruby-on-rails,angularjs,Ruby On Rails,Angularjs,这是一个真正的新手问题: 我在erb的Rails中有一个索引视图: <div ng-app="Donor"> <div ng-controller="DonorCtrl"> <ul> <li ng-repeat="donor in donors"> {{donor}} </li> </ul> </div> </div> 如何在我的索引视图中获取供

这是一个真正的新手问题:

我在erb的Rails中有一个索引视图:

<div ng-app="Donor">
  <div ng-controller="DonorCtrl">

    <ul>
     <li ng-repeat="donor in donors">
      {{donor}}
    </li>
    </ul>

</div>
</div>
如何在我的索引视图中获取供者列表


我遗漏了一些东西

您的第一个问题是控制器中没有正确的代码。我还把你的$resource变成了factory。我将捐助者更新方法更改为“PUT”,因为您有一个“add捐助者”方法

确保为angularjs设置了正确的库。为此,您需要:

angular.js
angular-resource.js
修改后的Javascript:

var app;

app = angular.module("Donor", ["ngResource"]);

app.factory("Donors", [
  "$resource", function($resource) {
    return $resource("/donors", {}, {
      update: {
        method: "PUT"
      }
    });
  }
]);

app.factory("Donor", [
  "$resource", function($resource) {
    return $resource("/donors/:id", {
      id: "@id"
    }, {
      update: {
        method: "GET"
      }
    });
  }
]);

this.DonorCtrl = [
  "$scope", "Donor", "Donors", function($scope, Donor, Donors) {
    var donor;
    $scope.donor = Donor.query();
    $scope.donors = Donors.query();
    $scope.addDonor = function() {};
    donor = Donor.save($scope.newDonor)(function() {
      return $scope.donors.push(donor);
    });
    return $scope.newDonor = {};
  }
];
由于您使用的是rails,下面是coffeescript版本(我发现它与angularjs的结合非常优雅):


我将结帐,以便更好地了解如何设置您的角度javascript文件

您的首要问题之一是控制器中没有正确的代码。我还把你的$resource变成了factory。我将捐助者更新方法更改为“PUT”,因为您有一个“add捐助者”方法

确保为angularjs设置了正确的库。为此,您需要:

angular.js
angular-resource.js
修改后的Javascript:

var app;

app = angular.module("Donor", ["ngResource"]);

app.factory("Donors", [
  "$resource", function($resource) {
    return $resource("/donors", {}, {
      update: {
        method: "PUT"
      }
    });
  }
]);

app.factory("Donor", [
  "$resource", function($resource) {
    return $resource("/donors/:id", {
      id: "@id"
    }, {
      update: {
        method: "GET"
      }
    });
  }
]);

this.DonorCtrl = [
  "$scope", "Donor", "Donors", function($scope, Donor, Donors) {
    var donor;
    $scope.donor = Donor.query();
    $scope.donors = Donors.query();
    $scope.addDonor = function() {};
    donor = Donor.save($scope.newDonor)(function() {
      return $scope.donors.push(donor);
    });
    return $scope.newDonor = {};
  }
];
由于您使用的是rails,下面是coffeescript版本(我发现它与angularjs的结合非常优雅):


我将结帐,以便更好地了解如何设置您的角度javascript文件

工厂很难找到太多的信息——我看了大部分视频,他们都很伟大——工厂很难找到太多信息——我看了大部分视频,他们都很棒
app = angular.module("Donor", ["ngResource"])

app.factory "Donors", ["$resource", ($resource) ->
    $resource("/donors", {}, {update: {method: "PUT"}})
]
app.factory "Donor", ["$resource", ($resource) ->
    $resource("/donors/:id", {id: "@id"}, {update: {method: "GET"}})
]

@DonorCtrl = ["$scope", "Donor", "Donors", ($scope, Donor, Donors) ->
  $scope.donor = Donor.query()
  $scope.donors = Donors.query()

  $scope.addDonor = ->
        donor = Donor.save($scope.newDonor) ->
            $scope.donors.push donor
        $scope.newDonor = {}
]