加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Capistrano部署后丢失Rails资产

发布时间:2020-12-17 03:37:21 所属栏目:百科 来源:网络整理
导读:我正在构建VPS,它通过Capistrano部署,数据库连接等,但页面没有可用的资源 – 它只是基本的html. 资产似乎已编译,并存在于共享目录中. 从页面html: link href="/assets/application-a1b5d69aeaff709fd3dce163c559b38b.css" media="all" rel="stylesheet" typ
我正在构建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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读