Rails Ubuntu / passenger / capistrano app资产未部署

时间:2016-03-07 12:41:53

标签: ruby-on-rails git capistrano asset-pipeline

我的所有资产都不再按更改进行更新。我使用的设置与我相同,但现在当我更改我的任何一个.html.erb'文件或' .scss'文件,当我将它们添加到git并使用capistrano部署它们时,它们不会显示出来。知道这可能会发生什么吗?

也许我应该重新安装我部署到?

的远程服务器上的所有内容

我正在使用:
Rails 4.2.5.1
红宝石2.2.3p173

production.rb:

Rails.application.configure do
  # Settings specified here will take precedence over those in config/application.rb.

  # Code is not reloaded between requests.
  config.cache_classes = true

  # Eager load code on boot. This eager loads most of Rails and
  # your application in memory, allowing both threaded web servers
  # and those relying on copy on write to perform better.
  # Rake tasks automatically ignore this option for performance.
  config.eager_load = true

  # Full error reports are disabled and caching is turned on.
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = false

  # Enable Rack::Cache to put a simple HTTP cache in front of your application
  # Add `rack-cache` to your Gemfile before enabling this.
  # For large-scale production use, consider using a caching reverse proxy like
  # NGINX, varnish or squid.
  # config.action_dispatch.rack_cache = true

  # Disable serving static files from the `/public` folder by default since
  # Apache or NGINX already handles this.
  config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
  #config.serve_static_files = false

  # Compress JavaScripts and CSS.
  config.assets.js_compressor = :uglifier
  #config.assets.css_compressor = :sass

  # Do not fallback to assets pipeline if a precompiled asset is missed.
  config.assets.compile = false
  config.assets.initialize_on_precompile = false

  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
  # yet still be able to expire them through the digest params.
  config.assets.digest = true
end  

在部署资产之前,我还使用RAILS_ENV=production rake asssets:precompile来编译我的资产。

1 个答案:

答案 0 :(得分:0)

您可以尝试在本地预编译资产,提交然后再次部署。

rake assets:precompile

这不是最好的做法,但是在我需要之前我已经做过了。还要在部署期间检查堆栈跟踪。通常,您的css或js中的某个地方存在错误,导致您的资产无法编译。