VPSを構築していて、Capistrano、データベース接続などでデプロイされていますが、そのページで使用できる資産はありません。Capistranoをデプロイした後でRails資産が失われる
資産はコンパイルされて表示され、共有ディレクトリに存在します。ページのHTMLからの
:アセットファイルがに存在するように見える
<link href="/assets/application-a1b5d69aeaff709fd3dce163c559b38b.css" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/application-0ebd07089629f8c6880dddfb688d525d.js" type="text/javascript"></script>
はディレクトリを共有:
私は、 ビュー、ソースとにハイパーリンクをクリック[email protected]:~/apps/assay/shared/assets$ ls application- a1b5d69aeaff709fd3dce163c559b38b.css
application-a1b5d69aeaff709fd3dce163c559b38b.css
資産パス、私は404をNginxから見つかりません。助けのためのマーティン・M(受け入れ答え)へ
SOLUTION
感謝。 〜/ apps /(app name)/サーバーの現在のディレクトリから、私が取った手順。
$ bundle install
$ RAILS_ENV=production bundle exec rake assets:precompile
$ sudo service nginx restart
明らかに、これをCapistranoのレシピに含める方が良いでしょう。
* EDIT - Capfile *
load 'deploy'
load 'deploy/assets'
load 'config/deploy'
感謝をお役に立てば幸いです。プリコンパイルを開発マシンまたは本番サーバーで実行する必要がありますか? Cap展開にこれを含める方法がいくつかありますか? – ardochhigh
"標準的な"方法は 'Capfile'の' load 'deploy/assets''行をアクティブにすることです。これは、すべてのデプロイ時にサーバー上で 'precompile'を実行します。 –
私はそれを持っています。私は上記の私のcapfileを追加しました。 – ardochhigh