我想映射默認AngularJS $資源行動:
'get': {method:'GET'}
'save': {method:'POST'}
'query': {method:'GET', isArray:true}
'remove': {method:'DELETE'}
'delete': {method:'DELETE'}
這些5個Rails的REST風格的路線:
'show': {method:'GET'} -> get
'create': {method:'POST'} -> save
'update': {method:'PUT'} -> save
'index': {method:'GET', isArray:true} -> query
'delete': {method:'DELETE'} -> remove or delete
除了save
之外,一切都映射得很好。它適用於create
作爲POST
請求。但我想,當我保存有一個id != null
# This factory needs a smarter $save() method
myServices.factory 'Message', ['$resource', ($resource) ->
Message = $resource "api/users/:user_id/messages/:id",
user_id: '@user_id'
id: '@id'
,
# update should not be needed
update:
method: 'PUT'
Message
]
myApp.controller "UsersShowCtrl", ["$scope", "$routeParams", "User", "Message", ($scope, $routeParams, User, Message) ->
$scope.user = User.get({id: $routeParams.user_id})
$scope.myMessage = new Message {user_id: $routeParams.user_id}
$scope.submitMyMessage = ->
# This should just be:
# $scope.myMessage.$save()
# rather than:
unless $scope.myMessage.id?
$scope.myMessage.$save()
else
$scope.myMessage.$update()
]
我最終會想修改提交PARAMS也讓我可以將它們命名空間中的資源將其更改爲一個PUT
請求默認軌嵌套參數即params[:message]
而不是直接將它們附加到根params
字符串,但首先我需要知道如何最好地修改$資源。
請問這是什麼語言?有趣的是,你寫作角度,但方式更像你談論的紅寶石......它如何編譯爲js?瀏覽器是否知道這一點? – deadManN 2015-10-31 09:09:03