0

以前に数回行ったように、Railsアプリをherokuアカウントにアップロードしようとしています(成功)

heroku login (email and pass)
    rake assets:precompile 
    bundle install --without production
    git add --all
    git commit -am "commit_desc2"
    git push heroku master

ヘッダーにすべての css と js を含めずにアプリを取得します。アセットのコミットの問題だと思います。ブートストラップを使用してデザインを少し変更することを除いて、何か違うことをしたことを覚えていません。

これがherokuの頭です

<link href="/assets/application-6dc3bf401e7f79f69a2a156bdeeb7a00.css" media="all" rel="stylesheet" type="text/css" />
  <script src="/assets/application-14e3dc5612ffc200db37e141e57c5af2.js" type="text/javascript"></script>

これがローカルホストの頭です

 <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/bootstrapStyle.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/bootstrap_and_overrides.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/ratings.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/scaffolds.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/twitter/bootstrap/bootstrap-transition.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-alert.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-modal.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-dropdown.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-scrollspy.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-tab.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-tooltip.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-popover.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-button.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-collapse.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-carousel.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-typeahead.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap/bootstrap-affix.js?body=1" type="text/javascript"></script>
<script src="/assets/twitter/bootstrap.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script>
<script src="/assets/index.js?body=1" type="text/javascript"></script>
<script src="/assets/ratings.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
4

1 に答える 1

0

Railsガイドから:

開発モードでは、アセットはマニフェスト ファイルで指定された順序で個別のファイルとして提供されます。

実際に質問したわけではありませんが、はっきりさせておくと、あなたのアセットはスキップされていません。

localhost に表示されるもの (リストされているすべてのファイル) は、本番環境に含まれています (1 つのファイルapplication.cssapplication.jsファイルに含まれています)。

あなたconfig/evironments/development.rbが持っている

config.assets.debug = true

これは〜をひき起こす

<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>

//=requireSprockets と Rails アセット パイプラインを介してラインに含まれる JavaScript とスタイルシートごとに個別のスクリプト タグとリンク タグを作成して展開します。

本番環境 (heroku) では、上記のデバッグ構成オプションは false に設定され、スタイルシートと JavaScript の単一の連結/圧縮バージョンを提供します。

ローカルホストにリストされているJavascriptファイルで使用可能な変数/メソッドについてJavascriptコンソールを確認すると、<head>それらが存在することがわかります。本番環境の application.css ファイルの内容についても同様です。

推奨読書: http://guides.rubyonrails.org/asset_pipeline.html

于 2012-12-02T21:46:37.007 に答える