Ruby on rails 在Heroku上找不到Rails和Javascript资产

Ruby on rails 在Heroku上找不到Rails和Javascript资产,ruby-on-rails,ruby-on-rails-3,heroku,jquery-isotope,Ruby On Rails,Ruby On Rails 3,Heroku,Jquery Isotope,Heroku上找不到我的/app/assets文件夹中同位素()使用的两个Javascript文件,我遇到了一个问题。在本地开发模式中,可以找到它们,并且一切正常。然而,一旦在Heroku上进入生产模式,这两个文件就不存在了。我读过很多关于堆栈溢出的类似文章,也读过很多关于资产管道的文章,但我似乎仍然不知道是什么导致了这个问题 以下是我所知道的: 1) 在my/app/assets文件夹中找到了其他Javascript文件,包括Bootstrap 2) 如果我使用rakeassets:preco

Heroku上找不到我的/app/assets文件夹中同位素()使用的两个Javascript文件,我遇到了一个问题。在本地开发模式中,可以找到它们,并且一切正常。然而,一旦在Heroku上进入生产模式,这两个文件就不存在了。我读过很多关于堆栈溢出的类似文章,也读过很多关于资产管道的文章,但我似乎仍然不知道是什么导致了这个问题

以下是我所知道的:

1) 在my/app/assets文件夹中找到了其他Javascript文件,包括Bootstrap

2) 如果我使用rakeassets:precompile-trace,我不会得到任何错误,一切看起来都很正常

3) 在我的production.rb文件中,config.service\u static\u assets=true。很多人似乎把这个从假改为真,这解决了他们的问题,但在这一点上,我不确定应该是哪个

4) 此问题可能是由于存在问题的同位素Javascript文件造成的。在我的一个html.erb文件中,根据开发人员的文档,我添加了一些Javascript来处理同位素,如下所示:

 <script src="../assets/jquery-1.7.1.min.js"></script>
  <script src="../assets/jquery.isotope.min.js"></script>
  <script>
    $(function(){

      var $container = $('#eventcontainer');
      $container.imagesLoaded(function(){
        $container.isotope({
          layoutMode : 'spineAlign',
          spineAlign: {
              gutterWidth: 30
          },
          itemSelector : '.element',

      });
     });
 ....... more here that works in dev mode...
  </script>
所以我不知道为什么他们没有被发现,或者如何解决这个问题。我是Rails的新手,尤其是Heroku,因此我非常感谢您的帮助。如果您需要更多信息或查看任何其他文件,请让我知道


谢谢你的时间

我可以通过删除这些行来解决这个问题

<script src="../assets/jquery-1.7.1.min.js"></script>
<script src="../assets/jquery.isotope.min.js"></script>

并使用此处找到的信息:。具体而言,以下是:

旁注特别重要:“如果 Heroku将假定在您的应用程序中检测到public/assets/manifest.yml 您自己处理资产编译,不会尝试 编译您的资产。”

请确保删除public/assets/*文件夹下的所有内容 预编译已创建的,包括manifest.yml文件

通过bundle exec rake assets:clean删除public/assets/*中的所有内容后,我再次推送到Heroku,允许它自己编译资产。在那一点上,它起了作用。我不完全确定原因,也许有人可以解释一下,但对我来说,似乎一旦删除了这两行代码并重新编译了所有资产,它就知道要在正确的位置查找Javascript文件

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery-1.7.1.min
//= require jquery.isotope.min
//= require bootstrap-datepicker
//= require bootstrap-timepicker
//= require_tree .
//= require_self
<script src="../assets/jquery-1.7.1.min.js"></script>
<script src="../assets/jquery.isotope.min.js"></script>