ruby-on-rails - from - the asset is not present in the asset pipeline rails 5
Rails 3+angularjs+minification no funciona en producción: Proveedor desconocido: eProvider (3)
¡Lo encontré! Nunca dijeron que aplicaran las correcciones de inyección a los servicios también ... La solución es cambiar esto:
angular.module(''itemServices'', [''ngResource'']).
factory(''Item'', function($resource){
return $resource(''items/:item_id.json'', {}, {
query: {method:''GET'', params:{ item_id: ''all'' }, isArray:true}
});
});
a esto:
angular.module(''itemServices'', [''ngResource'']).
factory(''Item'', [''$resource'', function($resource){
return $resource(''items/:item_id.json'', {}, {
query: {method:''GET'', params:{ item_id: ''all'' }, isArray:true}
});
}]);
He seguido todas las instrucciones que puedo encontrar para arreglar minificación, por ejemplo,
var MyController = function(renamed$scope, renamedGreeter) {
...
}
MyController.$inject = [''$scope'', ''greeter''];
y
someModule.factory(''greeter'', [''$window'', function(renamed$window) {
...;
}]);
sin embargo, angular se niega a trabajar todavía. Siempre arroja el error "Proveedor desconocido: eProvider"
Aquí están mis dos intentos para que funcione ... ¿alguien puede ayudarme?
https://github.com/jemminger/angular-test1
https://github.com/jemminger/angular-test2
Ya tenían los activos precompilados y el modo de desarrollo está configurado para funcionar como producción, por lo que solo debería poder "rieles s" para ver si funciona (no).
Asegúrese de aplicar el patrón DI a TODAS las definiciones de funciones que requieren inyección dentro de su módulo. Puede ser fácil perderse uno. Si está utilizando un proveedor de ruta, fábrica, servicios, etc., todos deben tener aplicado el patrón DI. Terminé de desplegar varias veces antes de capturarlos a todos: P
Recuerde, para usar también DI en los controladores dentro de las directivas. Me tomó horas ... Ejemplo de CS:
incorrecto:
controller: ($scope) ->
$scope.closeModal = ->
ModalService.close()
Correcto:
controller: ["$scope"
($scope) ->
$scope.closeModal = ->
ModalService.close()
]