Ich baue ein VPS, und es ist über Capistrano bereitgestellt, Datenbank verbunden usw., aber es sind keine Assets auf der Seite verfügbar - es ist nur grundlegende HTML.Rails Assets fehlen nach Capistrano deploy
Die Assets scheinen kompiliert zu sein und existieren im Verzeichnis shared.
Von der Seite html:
<link href="/assets/application-a1b5d69aeaff709fd3dce163c559b38b.css" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/application-0ebd07089629f8c6880dddfb688d525d.js" type="text/javascript"></script>
Die Asset-Dateien im zu existieren scheinen geteilt Verzeichnis:
[email protected]:~/apps/assay/shared/assets$ ls application- a1b5d69aeaff709fd3dce163c559b38b.css
application-a1b5d69aeaff709fd3dce163c559b38b.css
Wenn ich Ansicht, Quelle und klicken Sie dann auf den Hyperlink zu Im Asset-Pfad bekomme ich einen 404 von Nginx nicht gefunden.
SOLUTION
Dank Martin M (akzeptierte Antwort) um Hilfe. Die Schritte, die ich ausgeführt habe, aus dem Verzeichnis ~/apps/(App-Name)/current auf dem Server.
$ bundle install
$ RAILS_ENV=production bundle exec rake assets:precompile
$ sudo service nginx restart
Offensichtlich wäre es besser, dies in das Capistrano-Rezept aufzunehmen.
* EDIT - Capfile *
load 'deploy'
load 'deploy/assets'
load 'config/deploy'
Vielen Dank für Ihre Antwort hilft. Soll die Vorkompilierung auf dem Entwicklungsrechner oder dem Produktionsserver ausgeführt werden? Gibt es eine Möglichkeit, dies in die Cap-Bereitstellung aufzunehmen? – ardochhigh
Der "Standard" Weg ist es, die Zeile 'load 'deploy/assets' in' Capfile' zu aktivieren. Es führt bei jeder Bereitstellung eine Vorkompilierung auf dem Server aus. –
Ich habe das. Ich habe meine Capfile oben hinzugefügt. – ardochhigh