Jam*_*sen 49 css ruby-on-rails sass ruby-on-rails-3 sprockets
我有一个Rails 3.1项目,资产管道工作得很好.问题是我需要在Sass中引用图像,但Rails会计算图像URL.(这在生产中尤其重要,其中Rails将图像的Git哈希附加到其文件名中以填充缓存.)
例如,在app/assets/stylesheets/todos.css.scss:
.button.checkable { background-image: url(/assets/tick.png); }
Run Code Online (Sandbox Code Playgroud)
当我部署(或运行rake assets:precompile)时,文件app/assets/images/tick.png被移动到public/assets/tick-48fe85c0a.png或类似的东西.这打破了CSS.这篇文章提出两点建议:
public/images/并直接引用它们1号肯定是可能的,但这意味着我没有在我的图像上获得缓存破坏.2号因为我正在使用Sass而不是ERB来处理文件.
Top*_*opo 96
以下应该做的伎俩:
.button.checkable { background-image: url(image_path('tick.png')); }
Run Code Online (Sandbox Code Playgroud)
事实上,Rails提供了一堆帮助来引用资产:
image-url('asset_name')
audio-path('asset_name')
Run Code Online (Sandbox Code Playgroud)
一般来说
[asset_type]-url('asset_name') #Becomes url('assets/asset_name')
[asset_type]-path('asset_name') #Becomes 'assets/asset_name'
Run Code Online (Sandbox Code Playgroud)
asset_type可以是以下之一:图像,字体,视频,音频,javascript,样式表
| 归档时间: |
|
| 查看次数: |
39801 次 |
| 最近记录: |