在将Rails应用程序部署到Heroku上时预编译资产

时间:2014-05-21 04:17:19

标签: ruby-on-rails ruby heroku ruby-on-rails-4 asset-pipeline

部署后,我的Heroku应用程序在2到4次访问时遇到很多困难。看来CSS和JavaScript资产在这段时间内正在生成,并且它已超时。

使用Asset Pipeline进行预编译似乎工作正常(一旦完成),因为顺序访问会在3-5秒内呈现页面。 Rails 4应用程序托管在Heroku上,资源动态包含在应用程序中,例如:

<!-- Styles -->
<%= stylesheet_link_tag "themes/#{theme}/main", media: "all" %>
<%= stylesheet_link_tag "fonts/#{theme}/font", media: 'all' %>

部署到Heroku时,我没有预编译错误。

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       Asset precompilation completed (2.95s)

非常感谢任何帮助,并提前感谢您。

1 个答案:

答案 0 :(得分:0)

一旦我找到了所需的选项,就会非常简单。我必须在config/environments/staging.rbconfig/environments/production.rb

中添加以下内容
config.assets.precompile += %w( *.css.sass )
config.assets.precompile += %w( *.css.scss )
config.assets.precompile += %w( *.js )
config.assets.precompile += %w( *.js.coffee )
config.assets.precompile += %w( *.js.coffee.erb )

第一次部署需要227s,下一次部署需要2.93s来预编译资产。