【发布时间】:2015-08-10 11:22:49
【问题描述】:
我已经设置config/environments/production.rb
config.serve_static_files = false
config.assets.compile = false
config.action_controller.asset_host = ENV['CDN_URL']
我运行RAILS_ENV=production bundle exec rake assets:precompile 并将资产文件夹上传到我的资产服务器。
在我的机器上,我可以启动一个生产服务器,它工作正常。但是当我上传到生产服务器(nginx + unicorn)时,rails 应用程序继续使用本地路径而不是 asset_host
<script src="/assets/application-e5b02395783a59feaf5a100d0e23806c3e2bd45296770ebac0fc756f8e1dfd53.js" data-turbolinks-track="true"></script>
如何让它从asset_host 获取资产?
编辑为了更好地解释我的问题
在远程主机上:
$ RAILS_ENV=production bundle exec rails console
Loading production environment (Rails 4.2.3)
irb(main):001:0> puts helper.javascript_include_tag 'application.js'
<script src="/assets/application-e5b02395783a59feaf5a100d0e23806c3e2bd45296770ebac0fc756f8e1dfd53.js"></script>
=> nil
irb(main):002:0>
在本地机器上:
$ RAILS_ENV=production bundle exec rails console
Loading production environment (Rails 4.2.3)
2.2.2 :001 > puts helper.javascript_include_tag 'application.js'
<script src="http://cdn.site.com/assets/application-e5b02395783a59feaf5a100d0e23806c3e2bd45296770ebac0fc756f8e1dfd53.js"></script>
=> nil
2.2.2 :002 >
【问题讨论】:
标签: ruby-on-rails-4 nginx asset-pipeline unicorn