Rails 无法在生产模式下生成正确的链路路径


处于

生产模式的应用无法生成正确的链接。例如,下面的代码

  <%= 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/environments/production.rb中更改了config.assets.compile = true。但什么都没有改变。

如果你想在本地环境中运行生产模式,你应该告诉 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

最新更新