Rails 生产资产预编译,但在浏览器中显示为空白

Rails production assets precompile, but appear blank in the browser

Sass 和 JS 文件都在我 rake assets:precompile 用于生产时正确编译,我可以在 public/assets 文件夹中看到它们。 然而,当我尝试 运行 应用程序并在网络浏览器上查看时,它显示为 404。 文件名与 public/assets 文件夹中的编译文件相匹配。在 Dev 上一切正常,就像我提出的所有其他 SO 问题一样。

这是我的原创application.scss

@import 'materialize/components/_color';
@import 'materialize/components/variables';
@import 'materialize';
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

.icon-block {
  padding: 0 15px;
}

.icon-block .material-icons {
  font-size: inherit;
}

和原来的application.js

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require materialize-sprockets
//= require_tree .

我正在 Windows 进行开发,部署到 Ubuntu 服务器进行生产。 Rails 的新手,但我想做对!

我在 config/environments/production.rb 中设置了 config.serve_static_files = true 并修复了它。我可能不得不 fiddle 让它与以后可能是 NGINX 服务器的东西一起工作,但它在本地工作。

致未来的 google 员工 - 现在 'serve_static_files' 不起作用。这变成了: config.public_file_server.enabled = true 如需更多帮助,请参阅指南:here