由于角度资源导致Angularjs-rails提交表单错误
问题描述:
当页面加载时,资源抛出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 = {}
]
答
正如你提到的铁轨,我建议你看看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 = {}
]