angular resource overwrite url not working
The documentation here says that:
url – {string} – action specific url override. 
The url templating is supported just like for the resource-level urls.
I would like to use this good feature, I tried this:
angular.module("experience", ['ngResource'])
    .factory('Experience', function ($resource, identity) {
    return $resource("api/experiences/:id", {}, {
        queryAll : {
            method  : 'GET',
            url     : 'api/companies/' + identity.id + '/experiences',
            isArray : true
        }
    });
});
You see I am trying to overwrite the url for queryAll method. but this does not work, the query still sends the url api/experiences. is this really supported or I am doing somehting wrong? thanks for any help.
 I have a very similar problem in my project.  The url couldn't be overridden in resource actions.  I am using Angular 1.2.0 and it should support the feature since 1.1.4.  So I checked the Angular API reference, CHANGELOG, but no luck.  Then I dug into the source code and noticed that the logic of overriding url isn't there.  That's the root cause of the problem.  I updated Angular to 1.2.0, but I forgot to update angular-resource.js to the corresponding version.  
So, long story short: check the version of angular-resource.js
 I am not sure if you cann access properties of identity in the url override, but you can try something like this:  
return $resource("api/experiences/:id", {}, {
    queryAll : {
        method  : 'GET',
        url     : 'api/companies/:id/experiences',
        params  : { id: identity.id },
        isArray : true
    }
});
 The id: identity.id tells angular to use the id property of identity , (if it exists).  
上一篇: 猫鼬:怎么了“
下一篇: 角度资源覆盖网址无效
