2016-11-07 33 views
0

我正在尝试将动态云端资源完整路径添加到我的scss中。基于所述环境现状(分段等)Rails 4配置和erb in scss for conditional cloudfront paths

mystyle.scss

.some-image {background-image: url(asset_path("#{Rails.configuration.adjusted_s3_cloudfront_path}landing/this-image.jpg"))} 

或mystyle.scss

.some-image {background-image: url(Rails.configuration.adjusted_s3_cloudfront_path('/landing/this-image.jpg'))} 

或mystyle.scss.erb

.some-image {background-image: url(<% Rails.configuration.adjusted_s3_cloudfront_path %>"/landing/this-image.jpg")} 

路径变化development.rb

config.adjusted_s3_cloudfront_path = "https://somecloufrontnumber.cloudfront.net" 

production.rb

config.adjusted_s3_cloudfront_path = "https://#{ENV['S3_CLOUDFRONT_URL']}" 

回答

2

你为什么不删除config.adjusted_s3_cloudfront_path = "https://#{ENV['S3_CLOUDFRONT_URL']}"赞成宣布在app/controllers/application.rb一个帮手?


.some-image { 
    background-image: url(<%= cloudfront_path('landing/this-image.jpg') %>) 
} 

应用程序/控制器/ application.rb中

class ApplicationController < ActionController::Base 
    def cloudfront_path(asset_uri) 
    return ENV['S3_CLOUDFRONT_URL'] + 'asset_url' 
    end 
end