当我rake assets:precompile
进行制作时,Sass和JS文件都被正确编译,我可以在public / assets文件夹中看到它们。 然而,当我尝试在Web浏览器上运行应用程序并进行查看时,它将显示为404. 文件名与public / assets文件夹中的已编译文件相匹配。就像Dev提出的所有其他SO问题一样,Dev上的一切都运行正常。
这是我原来的 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的新手,但我想做得对!
答案 0 :(得分:1)
针对未来的Google员工-
如今,“ serve_static_files”不起作用。改为:
config.public_file_server.enabled = true
有关更多帮助,请参见指南:here
答案 1 :(得分:0)
我在config / environments / production.rb中设置了config.serve_static_files = true
并修复了它。我可能不得不摆弄它,以便以后可能成为NGINX服务器,但它可以在本地工作。