我正在使用Bootstrap构建Rails应用程序以进行移动扩展。当我部署到Heroku时,我的所有资产都丢失了。我认为在Rails 4中已经修复了,但无论如何。我使用' rails_12factor'预编译了所有资产。现在我的所有图像和样式都渲染得很好,但是下拉菜单莫名其妙地什么也没做。
我在编译中做错了吗?我去了;
$ rake assets:precompile
$ git add .
$ git commit -a -m "Asset Fix"
$ git push heroku master
......我的菜单坏了。
这就是现在的样子; http://rocky-crag-1181.herokuapp.com/
调整浏览器大小以重新创建中断。
Repository at; https://github.com/SoundBank/soundbank02
答案 0 :(得分:1)
您的应用程序运行两个jQuery版本。 rails提供最新的jQuery版本,因此无需包含额外版本。如果您需要这样做,请更换
// = require jquery
此行包含您的jQuery文件
// = require jquery-1.10.2.min.js
但请记住你的jQuery文件应该在
中应用程序/资产/ JavaScript的/
您的application.html.erb
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
此行应该是文件的结尾,但是在正文关闭标记之前。
现在在终端上点击此命令
cd /sites/<app_name>
rm public/assets -R
rake assets:precompile
在这里:D
答案 1 :(得分:0)
我的app / assets文件夹中的jquery和bootstrap的冗余版本在生产中的预编译期间以某种方式发生冲突。我刚从目录中删除它们,更正了我的application.js,并运行了另一个rake资产:precompile
这使问题困惑。随着旧脚本被淘汰,我能够先命令jquery加载(感谢SSR)。
现在响应式菜单和背景轮播都与jquery很好地搭配。
顺便提一下,基本模板是Bootswatch的United,我删除的捆绑脚本是
bootstrap.js
jquery-1.10.2.min.js
从现在开始,我将更加仔细地查看已下载模板中的冲突脚本。