First of all,I would say sorry for my broken English and the broken codes...(many words here come from google translation...so, I\'m afraid that I can\'t make myself clear...so,
Apart that your description of the question is very complicated (tons of code), I think you missed the point of REST API concept.
You are mixing your Rails backend resources (and its routing) with client-side routing. This is wrong IMHO. Your frontend app routes shouldn't be jumping (shadowing) over REST routes.
If you are fetching users
resource (for example GET /users/5.json
) you shouldn't navigate your client to /tp/users/show
. Your REST and client-side routes are two separate, independent abstractions.
Your client-side routes should be like
/
/userprofile
/dashboard
/articles/2013?page=4
And your Controllers sitting on those routes should use your resource services to fetch required data from REST API like this:
angular.module('myApp').controller 'UserProfileController', ($scope, userResource) ->
$scope.user = userResource.query({id: SOME_ID})
angular.module('myApp.resources').factory 'userResource', ($resource) ->
params = {
id: '@id'
subItem: '@subItem'
subItemId: '@subItemId'
}
actions = {
query: {
method: 'GET'
params: {}
isArray: true
}
ban: {
method: 'POST'
params: {banned: true}
}
}
return $resource('/api-1.0/users/:id/:subItem/:subItemId', params, actions)