Rails 3 + angularjs + minification does not work in production: Unknown provider: eProvider
angularjs, assets, minify, production, ruby-on-rails
Solution
Found it! They never said to apply the injection fixes to services too... The solution is to change this:
angular.module('itemServices', ['ngResource']).
factory('Item', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
});
to this:
angular.module('itemServices', ['ngResource']).
factory('Item', ['$resource', function($resource){
return $resource('items/:item_id.json', {}, {
query: {method:'GET', params:{ item_id: 'all' }, isArray:true}
});
}]);
Problem
I've followed all the instructions I can find for fixing minification, e.g. ``` var MyController = function(renamed$scope, renamedGreeter) { ... } MyController.$inject = ['$scope', 'greeter']; ``` and ``` someModule.factory('greeter', ['$window', function(renamed$window) { ...; }]); ``` yet angular refuses to work still. It always throws the error "Unknown provider: eProvider" Here are my two attempts to get it working... can anyone help? https://github.com/jemminger/angular-test1 https://github.com/jemminger/angular-test2 They've already had the assets precompiled and development mode is configured to work as production, so you should just be able to "rails s" to see it (not) work.