在Heroku上找不到Rails同位素Javascript资源



我在Heroku上找不到同位素(http://isotope.metafizzy.co/)在我的/app/assets文件夹中使用的两个Javascript文件有问题。在当地的开发模式中,他们被发现,一切都很好。然而,一旦在Heroku上进入生产模式,这两个文件就不存在了。我在Stack Overflow上读了很多类似的文章,也读了很多关于资产管道的文章,但我似乎仍然不能弄清楚是什么导致了这个问题。

我知道的是:

1)在我的/app/assets文件夹中找到其他Javascript文件,包括Bootstrap。

2)如果我做rake assets:precompile -trace,我不会得到任何错误,一切看起来都很正常。

3)在我的生产中。Rb文件,配置。Serve_static_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>

我认为问题出在这两行:

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

因为如果我删除它们,我的应用程序甚至在开发中运行时也找不到Javascript文件。但是,它们包含在我的application.js文件中:

//= 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

所以我不知道为什么他们没有被发现或如何解决这个问题。我是Rails的新手,尤其是Heroku,所以我非常感谢任何帮助。如果您需要更多信息或查看任何其他文件,请告诉我。

谢谢你的时间!

我可以通过删除

行来解决这个问题
<script src="../assets/jquery-1.7.1.min.js"></script>
<script src="../assets/jquery.isotope.min.js"></script>

和using info found here:未找到Rails/Heroku预编译的资源。具体如下:

边注尤其重要:"如果a公共/资产/清单。在你的应用中检测到,Heroku会假设您正在自己处理资产编译,不会尝试这样做编译你的资产。"

确保你删除了public/assets/*文件夹下的所有内容预编译所创建的,包括该清单。yml文件。

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