我注意到帮助者image_url和image-url都在我的scss文件中工作,但是他们没有生成相同的路径。这两个函数有什么区别?
虽然我检查了我的环境配置中的asset.prefix路径,但它们在渲染资源时会生成不同的前缀。
答案 0 :(得分:0)
这是主要区别
对于带有asset_url
的{{1}}或url_to_asset
方法的图片网址,所以会转到图片目录
type image
对于资产网址,您可以调用js或任何其他资源(视频,音频,样式表..)
url_to_asset(source, {type: :image}.merge!(options))
答案 1 :(得分:0)
是同一帮手。来自documentation
使用资产管道时,必须重写资产路径,并且sass-rails提供-url和-path助手(在Sass中连接,在Ruby中强调 )用于以下资产类别:图像,字体,视频,音频,JavaScript和样式表。
-url
用于sass,_url
用于Ruby。
css和sass中的惯例是使用超分离的单词来表示函数;而在Ruby中,通常使用snakecase。
两个函数都应具有相同的行为,因此生成指向相同资产目录的路径。如果他们不这样做,那么您可能遇到类似于sass-rails asset pipeline: generating image paths incorrectly; `url(/images/blah.png)` instead of `url(/assets/blah.png)`
的错误