Ruby on rails 在Heroku上找不到Rails和Javascript资产
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来处理同位素,如下所示: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
<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>