我的布局参考:
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
在暂存和生产的html页面中呈现为:
<link data-turbolinks-track="true" href="/stylesheets/application.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/javascripts/application.js"></script>
在开发时,它呈现为:
<link data-turbolinks-track="true" href="/assets/application.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application.js"></script>
有效。
我将config.assets.compile设置为false,但即使运行rake资产:预编译也没有效果 - rails应用程序在暂存和生产时仍然缺少/javascripts/application.js和/stylesheets/application.css。 / p>
为什么这些资产不能编译为/ public?
答案 0 :(得分:1)
在production.rb文件中,你将有config.serve_static_assets = false,但是你需要设置为true,因为当你为生产模式编译资产时,我的意思是它总是在生产模式的服务器上运行,所以将它设置为true,这样为了生产你的资产可以编译,你将运行所有的js,css,图像。
config.assets.compile = true
config.serve_static_assets = true