我建立一個VPS,它的通過Capistrano的,數據庫連接等部署,但沒有可用的頁面資產 - 這只是基本的HTML。Rails的資產Capistrano的後失蹤部署
資產似乎被編譯,並且存在於共享目錄。
從頁面的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
當我視圖,源,然後單擊超鏈接資產路徑,我找不到Nginx的404。
SOLUTION
感謝Martin M(接受的答案)尋求幫助。我從服務器上的〜/ apps /(應用程序名稱)/當前目錄中執行的步驟。
$ bundle install
$ RAILS_ENV=production bundle exec rake assets:precompile
$ sudo service nginx restart
很明顯,將它包含在Capistrano食譜中會更好。
* 編輯 - Capfile *
load 'deploy'
load 'deploy/assets'
load 'config/deploy'
謝謝您的回答。預編譯應該在開發機器還是生產服務器上運行?有沒有辦法將這個包含在Cap部署中? – ardochhigh
「標準」方法是激活線'負載「部署在'Capfile'/assets''。它在每個部署的服務器上運行「預編譯」。 –
我確實有。我已經在上面添加了我的capfile。 – ardochhigh