Rails 4应用程序在暂存/生产时缺少application.js和application.css

时间:2014-03-21 17:07:43

标签: javascript css ruby-on-rails ruby ruby-on-rails-4

我的布局参考:

  <%= 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?

1 个答案:

答案 0 :(得分:1)

在production.rb文件中,你将有config.serve_static_assets = false,但是你需要设置为true,因为当你为生产模式编译资产时,我的意思是它总是在生产模式的服务器上运行,所以将它设置为true,这样为了生产你的资产可以编译,你将运行所有的js,css,图像。

config.assets.compile = true
config.serve_static_assets = true