1

我正在尝试在我的应用程序中设置一个模态 jQuery 脚本,它适用于本地/开发,但是当我将它推送到 heroku 时,脚本不起作用。

我查看了 html 源代码,我认为它与资产管道有关。我在 slug 编译(heroku push)期间编译了资产。

这是源在本地的样子:

<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/custom.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/pages.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/photos.css?body=1" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.masonry.min.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.simplemodal-1.4.3.js?body=1" type="text/javascript"></script>
<script src="/assets/pages.js?body=1" type="text/javascript"></script>
<script src="/assets/photos.js?body=1" type="text/javascript"></script>
<script src="/assets/photos.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
<link href="/assets/custom.css?body=1" media="screen" rel="stylesheet" type="text/css" />

但是,在生产(heroku)中,我只得到:

<link href="/assets/application-0183e1470ce8e2ba6f27e018f2b8aabf.css" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/application-20571ddeb4d7b86e69d16370f197cec1.js" type="text/javascript"></script>
<link href="/assets/custom-3ab2912a0b988babf6979cc153672fe0.css" media="screen" rel="stylesheet" type="text/css" />

这就是我的 application.html.erb 的样子:

<%= stylesheet_link_tag    "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= stylesheet_link_tag 'custom', :media => 'screen' %>
<%= csrf_meta_tags %>

和我的 application.js

//= require jquery
//= require jquery_ujs
//= require_tree .

有什么线索可以在生产中加载我的所有 javascript/jQuery 文件吗?让我知道你们是否需要任何其他文件。

谢谢。

4

1 回答 1

1

您是否尝试过在本地编译资产?Slug 编译对我来说似乎不稳定(它讨厌引导程序)。

RAILS_ENV=production bundle exec rake assets:precompile

git add public/assets

git commit -m "vendor compiled assets"

https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar

于 2012-09-24T19:03:48.440 回答