我想要得到的圖像的絕對URL在我的CSS如下:導軌 - 如何獲取資產的絕對URL在css.erb
"#{request.scheme}://#{request.host_with_port}/assets/image.png);"
但我覺得請求屬性不能在CSS訪問.erb。任何人都可以告訴我,我還可以在我的css中獲得請求方案和host_with_port屬性嗎?
我想要得到的圖像的絕對URL在我的CSS如下:導軌 - 如何獲取資產的絕對URL在css.erb
"#{request.scheme}://#{request.host_with_port}/assets/image.png);"
但我覺得請求屬性不能在CSS訪問.erb。任何人都可以告訴我,我還可以在我的css中獲得請求方案和host_with_port屬性嗎?
您可以通過在應用程序配置中定義asset_host來定義「scheme」(更正確:protocol),主機和端口,儘管此定義將用於所有資產路徑。
指的上Asset Tag Helpers請求信息滑軌API文檔可用於:
ActionController::Base.asset_host = Proc.new { |source, request|
"#{request.protocol}#{request.host_with_port}"
}
如果需要爲不同類型的資產的不同值,可以定義的過濾標準,例如:
ActionController::Base.asset_host = Proc.new { |source|
if source.starts_with?('/images')
"http://images.example.com"
else
"http://assets.example.com"
end
}
您可以使用絕對網址爲任何背景圖片或其他資源定義CSS。所以你可以在How to get absolute image paths in your css files using sass/scss之後動態生成它。
CSS
body {
background-image: image-url(background.png);
}
在您的環境文件,你改變它
config.action_controller.asset_host = "http://your.domain.com/"
然後你的CSS看起來就像是:
body {
background-image: url(http://your.domain.com/assets/background.png);
}
通過將其內部試了一下environments/development.rb,但無法讓它工作。 – random
請在您的環境/ development.rb中嘗試此操作:'config.action_controller.asset_host ...' –
感謝您的幫助。我接受它,因爲它解決了問題。 Url被正確地替換了,但不幸的是它並沒有幫助解決我在另一個問題中提出的問題:http://stackoverflow.com/questions/14208403/rails-imgkit-issues-in-exporting-images-with-html -and-CSS – random