1

アプリケーションでモーダル jQuery スクリプトをセットアップしようとしていますが、ローカル/開発では動作しますが、heroku にプッシュするとスクリプトが動作しません。

HTML ソースを見たところ、アセット パイプラインに関係があると思います。スラッグ コンパイル (heroku プッシュ) 中にアセットをコンパイルしています。

ローカルでのソースは次のようになります。

<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 に答える