在生产模式下无法生成正确链接的应用。 例如,下面的代码
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
正在生成以下代码:
<link rel="stylesheet" media="all" href="/stylesheets/application.css" data-turbolinks-track="true" />
<script src="/javascripts/application.js" data-turbolinks-track="true"></script>
我预编译了javascript和样式表。他们的正确路径分别为/public/assets/application-0d1386df5e82480bb54a6cd082e626ed2d46d364e867ca7d9ce009d3af8c1718.js
和/public/assets/application-5d8165dcf2b8902df77aed37c7ab6fee8c7d62844cb48ece6360d1fa4f079804.css
。
另外,我确实更改了config.assets.compile = true
中的/config/environments/production.rb
。但没有任何改变。
答案 0 :(得分:0)
如果您想在本地环境中运行生产模式,您应该通过更改以下内容告诉rails自己提供资产
config.serve_static_files = true
在生产环境中,您必须使用nginx配置它 - http://vladigleba.com/blog/2014/03/27/deploying-rails-apps-part-4-configuring-nginx/
并确保在将其推向生产之前已撤消之前的更改。
config.serve_static_files = false