javascript - Heroku 通过 JS 文件缩小破坏了我的 Rails + Angular.js 应用程序

标签 javascript ruby-on-rails angularjs heroku asset-pipeline

我在 Heroku 上有一个带有 Angular.js 的全新 Rails 4.2.0 应用程序,我有以下 angular.js Controller :

angular.module("CarDealer.controllers",[]).controller('carsController', function ($scope, carDealerAPIservice) {
  $scope.nameFilter = null;
  $scope.carsList = [];

  carDealerAPIservice.getCars().success(function (response) {
    $scope.carsList = response;
  });
});

在我看来:

<div class="row" data-ng-controller="carsController">
  <div class="row">
    <div class="col-md-4">
      <input type="text" ng-model="nameFilter" placeholder="Find vehicle..." class="form-control", autofocus="true"/>
    </div>
  </div>

  <ul data-ng-repeat="car in carsList | filter: nameFilter">
    <li>{{ car.model_name }} - {{ car.year }} </li>
  </ul>

但是当我打开页面时,没有任何内容呈现,并且我的控制台中有以下内容:

Error: [$injector:unpr] Unknown provider: eProvider <- e <- carsController

在开发模式下一切正常,但在生产模式下我发现自己遇到了这个问题。

我该怎么做才能克服这种情况?我试过禁用 Assets 压缩,但都没有成功。

提前致谢

最佳答案

为避免缩小源出现问题,请始终使用以下语法注入(inject)依赖项:

controller('carsController', ['$scope', 'carDealerAPIservice', function ($scope, carDealerAPIservice) { 
//code
}]);

关于javascript - Heroku 通过 JS 文件缩小破坏了我的 Rails + Angular.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28255634/

相关文章:

javascript - NodeJS 使用 axios 可重用 HTTP 请求

javascript - 如何在不触发 PATCH 而不是 POST 的情况下仅将 Backbone 模型的属性子集保存到服务器

ruby-on-rails - 如何强制 send_data 在浏览器中下载文件?

javascript - Bootstrap 4 - 避免屏幕点击模式关闭

javascript - 切换 ionic 滑动框 "does-continue"

javascript - 如何修复未捕获的类型错误 : Cannot read property 'href' of null

javascript - Vue.js - 只显示错误的数组元素

mysql - Rails/Snow Leopard Mysql 64位问题

javascript - 获取 angularjs 直接发送回 JavaScript 函数的数据

javascript - 如何将 angularJS 应用程序转换为 angular