2013-02-25 87 views
0

當頁面加載時,資源拋出404,因爲$ resource讀取的是:city_id。我開始與angularjs所以任何澄清表示讚賞。由於角度資源導致Angularjs-rails提交表單錯誤

表單條目無法保留,因爲此$資源也用於PUT'模型中的條目。

app = angular.module("CityAngular", ["ngResource"]) 
app.factory "Seal", ["$resource", ($resource) -> 
    $resource("/cities/:city_id/seals/:id", {city_id: "@city_id", id: "@id"}, {update: {method: "PUT"}}) 
] 

@SealCtrl = ["$scope", "Seal", ($scope, Seal) -> 
    $scope.seals = Seal.query() 

    $scope.addSeal = -> 
     seal = Seal.save($scope.newSeal) 
     $scope.seals.push(seal) 
     $scope.newSeal = {} 
] 

回答

2

正如你提到的鐵軌,我建議你看看angularjs-rails-resource。它使得資源工作更容易。當你在城市下築巢時,你總是需要提供一個city_id。

app = angular.module("CityAngular", []) 
app.factory "Seal", ["railsResourceFactory", ($resource) -> 
    $resource url: "/cities/{{city_id}}/seals/{{id}}", name: 'seal' 
] 

app.controller 'SealCtrl', ["$scope", "Seal", ($scope, Seal) -> 
    $scope.city_id = 1 

    $scope.seals = Seal.query(city_id: $scope.city_id) 

    $scope.addSeal = -> 
    $scope.newSeal.city_id = $scope.city_id 
    seal = new Seal($scope.newSeal).create() 
    $scope.seals.push(seal) 
    $scope.newSeal = {} 
]