资产不会在暂存时显示,而是在生产时显示

时间:2017-06-07 05:53:46

标签: ruby-on-rails deployment capistrano asset-pipeline sprockets

我有这个问题,我无法弄明白。我做了一些谷歌搜索,我没有找到合适的答案,所以我问社区。

我有一个包含4种环境的Rails应用程序:开发,测试,登台和制作。一切在开发,测试和生产方面都很有效,但由于某些原因,资产不会在分期中提供。

分段基本上是生产的副本。我使用Capistrano来部署网站。资产正在服务器上编译,并且在服务器上的类型为 asset-xxxxx.ext 。这可以按预期工作。

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

问题

我的样式表中的 image-url 不会更改以反映sproket设置的路径。例如,文件 sprite.png 已更改为 sprite-25d57a117a61de097e8f943ff745e8b0.png ,但css仍为 sprite.png

令人困惑的是 environments / staging.rb environments / production.rb 相同,我在制作中没有问题。

故障

我尝试使用以下值:

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

但没有任何作用。正如我所说,完全相同的设置工作...

感谢您的帮助!!!

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

在staging.rb

.site-nav

然后运行commad:

config.assets.compile = true

并使用menifest文件推送已编译的文件。

希望它有效!!!