【问题标题】:jQuery script not loading on production (Heroku - cedar stack)jQuery 脚本未在生产中加载(Heroku - 雪松堆栈)
【发布时间】:2012-09-24 18:49:31
【问题描述】:

我正在尝试在我的应用程序中设置一个模态 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 文件吗? 如果你们需要任何其他文件,请告诉我。

谢谢。

【问题讨论】:

  • 这看起来您启用了主动缓存。
  • 你也可以查看heroku日志heroku logs --tail会告诉你在你重新加载页面时发生了什么

标签: jquery ruby-on-rails ruby-on-rails-3 heroku asset-pipeline


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-25
    • 2012-08-25
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多