diff --git a/src/Resource.js b/src/Resource.js index 74d952edec71..045ab3a2543d 100644 --- a/src/Resource.js +++ b/src/Resource.js @@ -109,7 +109,7 @@ ResourceFactory.prototype = { var value = this instanceof Resource ? this : (action.isArray ? [] : new Resource(data)); self.xhr( action.method, - route.url(extend({}, action.params || {}, extractParams(data), params)), + route.url(extend({}, extractParams(data), action.params || {}, params)), data, function(status, response) { if (response) { diff --git a/test/ResourceSpec.js b/test/ResourceSpec.js index c289ae890541..b6c116f7f4ee 100644 --- a/test/ResourceSpec.js +++ b/test/ResourceSpec.js @@ -75,6 +75,15 @@ describe("resource", function() { nakedExpect(item).toEqual({id:'abc'}); }); + it("should build resource with action default param overriding default param", function(){ + xhr.expectGET('/Customer/123').respond({id:'abc'}); + var TypeItem = resource.route('/:type/:typeId', {type: 'Order'}, + {get: {method: 'GET', params: {type: 'Customer'}}}); + var item = TypeItem.get({typeId:123}); + xhr.flush(); + nakedExpect(item).toEqual({id:'abc'}); + }); + it("should create resource", function(){ xhr.expectPOST('/CreditCard', {name:'misko'}).respond({id:123, name:'misko'});