我正在构建VPS,它通过Capistrano部署,数据库连接等,但页面没有可用的资源 – 它只是基本的html.
资产似乎已编译,并存在于共享目录中.
从页面html:
<link href="/assets/application-a1b5d69aeaff709fd3dce163c559b38b.css" media="all" rel="stylesheet" type="text/css" /> <script src="/assets/application-0ebd07089629f8c6880dddfb688d525d.js" type="text/javascript"></script>
资产文件似乎存在于共享目录中:
assay@assaypipeline:~/apps/assay/shared/assets$ls application- a1b5d69aeaff709fd3dce163c559b38b.css application-a1b5d69aeaff709fd3dce163c559b38b.css
当我查看,源,然后单击指向资产路径的超链接时,我从Nginx中找不到404.
解
感谢Martin M(接受了答复)的帮助.我从服务器上的〜/ apps /(app name)/ current目录中采取的步骤.
$bundle install $RAILS_ENV=production bundle exec rake assets:precompile $sudo service Nginx restart
显然,将它包含在Capistrano配方中会更好.
*编辑 – Capfile *
load 'deploy' load 'deploy/assets' load 'config/deploy'
解决方法
您的预编译资产应位于公共/资产中,请参阅
rails guides
通常你通过跑步来创造它们
通常你通过跑步来创造它们
RAILS_ENV=production bundle exec rake assets:precompile
作为部署的一部分.
共享的东西是通过几种部署提供旧东西.
另见本question
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。