我想做以下
if build?
assetPath = "//cdn.domain.com/assets"
else
assetPath = "assets"
end
尝试所有组合并在任何地方阅读,但此刻只是难倒
红宝石和中间人 - 还在学习。
答案 0 :(得分:8)
你是否在config.rb
内尝试这个?如果没有,你应该这样做。
您可能想要使用某个设置......
set :css_dir, 'assets'
...并改变构建:
configure :build do
set :css_dir, '//cdn.domain.com/assets'
end
您是否知道Asset helpers?你可以用......
<%= stylesheet_link_tag 'foo.css' %>
...在您的(ERB)模板中。
开发时应该给你......
<link href="/assets/foo.css" media="screen" rel="stylesheet" type="text/css" />
...并在您的构建中:
<link href="//cdn.domain.com/assets/foo.css" media="screen" rel="stylesheet" type="text/css" />
答案 1 :(得分:1)
我确实遇到了早期答案的问题。要实际更改资产路径以使用CloudFront等CDN,我必须执行以下操作:
# Fingerprint assets
activate :asset_hash
# Enable Asset Hosts
activate :asset_host
set :asset_host do |asset|
'//d23xxk856.cloudfront.net'.to_s
end