Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku rails正在编译资源_Ruby On Rails_Angularjs_Heroku_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Heroku rails正在编译资源

Ruby on rails Heroku rails正在编译资源,ruby-on-rails,angularjs,heroku,ruby-on-rails-4,Ruby On Rails,Angularjs,Heroku,Ruby On Rails 4,我在将js文件部署到heroku时遇到问题。 当我像这样为我的角度模块添加组件时,问题开始了 var keysApp=angular.module('keys',['mgo-angular-wizard']) 因此application.js中的代码 //= require jquery //= require jquery_ujs //= require bootstrap //= require bootstrap-sprockets //= require_directory ./boot

我在将js文件部署到heroku时遇到问题。 当我像这样为我的角度模块添加组件时,问题开始了
var keysApp=angular.module('keys',['mgo-angular-wizard'])

因此application.js中的代码

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require bootstrap-sprockets
//= require_directory ./bootstrap
//= require mandrill/json2
//= require mandrill/mandrill.min
//= require libs/underscore-min
//= require angular/angular
//= require angular/angular-wizard.min

(function(){
    var keysApp = angular.module('keys',['mgo-angular-wizard']);

    keysApp.controller('KeysServiceController', function($scope){


        $scope.keysServiceModel = keysServicePriceGlobal;


        $scope.chosen = "";

        $scope.chosenPoint = "";

        $scope.userName = undefined;
        $scope.userEmail = undefined;
        $scope.userPhone = undefined;


        var myMap;
        var myGroup;


        var orderMailer = new mandrill.Mandrill('');

        ymaps.ready(init);

        function init(){

            myMap = new ymaps.Map("map", { center: [59.939095,30.315868],  zoom: 10  });

            myGroup = new ymaps.GeoObjectCollection({}, {
                draggable: false
            });


            function addObjectToKeyMap(place) {
                var geocoder = new ymaps.geocode( place.address, { results: 1 } );
                geocoder.then(function (res) {
                    place.coords = res.geoObjects.get(0).geometry.getCoordinates();
                    myGroup.add(new ymaps.Placemark(place.coords,{
                        balloonContentBody: place.address,
                        id: place.id
                    }));

                });
            }

            for(i=0; i< keysDotsModelGlobal.length; i++){
                addObjectToKeyMap(keysDotsModelGlobal[i]);
            }

            myMap.geoObjects.add(myGroup);

            myGroup.events.add("click",function(e){
                var object = e.get('target');
                var idOfClickedPlacemark = object.properties.get('id');
                var r = $.grep(keysDotsModelGlobal, function(e){ return e.id == idOfClickedPlacemark; });
                $scope.editChosenPoint(r[0]);
            })


        }

        $scope.editChosenPoint = function(point){
            $scope.chosenPoint = point;
            $scope.$apply();
        };


        $scope.choose = function (service) {
            if($scope.isChosen(service)){
                $scope.chosen = undefined;
            } else {
                $scope.chosen = service;
            }
        };

        $scope.isChosen = function(service){
            return $scope.chosen === service;
        };


        $scope.isHeader = function(service){
            return service.type == "hr";
        };

        $scope.closeChosenProduct = function(){
            $scope.chosen = undefined;
        };

        $scope.closeChosenAddress = function(){
            $scope.chosenPoint = undefined;
        };

        $scope.sendOrderRequest = function(){
            orderMailer.messages.send({
                }
            }, function(res){
                console.log(res);
            }, function(err){
                console.log(err)
            })
        }
    });
})();

我认为它会压缩js文件,而不管文件production.rb中的设置如何。在生产模式下,我的angular应用程序也有同样的问题。下面的变化对我有用

  config.serve_static_assets = true

  # Compress JavaScripts and CSS.   
config.assets.js_compressor = false
 # config.assets.css_compressor = :sass
config.assets.js_compressor = Uglifier.new(mangle: false)

在rails 3上,将这些添加到GEM文件对我来说很有用

gem 'heroku'
gem 'rails_12factor'
gem 'rails_log_stdout', github: 'heroku/rails_log_stdout'
gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'

值得一试在您的情况下

您还需要添加
/=require self
以包含
应用程序中包含的js。js

应用程序是否使用此命令-rails s s-e production运行