资产在分期中不显示,但在生产中显示

问题描述 投票:0回答:1

我有一个我不知道的问题。 我做了一些谷歌搜索,但没有找到合适的答案,所以我在问社区。

我有一个具有4种环境的Rails应用程序:开发,测试,登台和生产。 在开发,测试和生产中,一切工作都很好,但是由于某种原因,资产没有在分期中得到服务。

暂存基本上是生产的副本。 我使用Capistrano部署站点。 这些资产正在服务器上进行编译,并且在服务器上的类型为asset-xxxxx.ext 。 这按预期工作。

脚本和样式表也以相同的方式( application-xxxxx.cssapplication-xxxxx.js )进行编译。 这也按预期工作。

问题

我的样式表中的图片网址未更改以反映sproket设置的路径。 例如,文件sprite.png更改为sprite-25d57a117a61de097e8f943ff745e8b0.png ,但css仍然是sprite.png

什么是混淆是环境/ staging.rb相同环境/ production.rb和我在生产没有问题。

故障

我尝试使用以下值:

config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true

但没有任何效果。 正如我所说,在生产中完全相同的设置也可以...

谢谢您的帮助!!!

ruby-on-rails deployment capistrano asset-pipeline sprockets
1个回答
0
投票

试试下面的代码:

在staging.rb中

config.assets.compile = true

然后运行commad:

RAILS_ENV=staging rake assets:precompile

并用清单文件推送已编译的文件。

希望它能工作!!!

© www.soinside.com 2019 - 2024. All rights reserved.