asset sass helpers:image_url和image-url之间的区别

时间:2014-10-05 12:14:15

标签: ruby-on-rails sass assets

我注意到帮助者image_url和image-url都在我的scss文件中工作,但是他们没有生成相同的路径。这两个函数有什么区别?

虽然我检查了我的环境配置中的asset.prefix路径,但它们在渲染资源时会生成不同的前缀。

2 个答案:

答案 0 :(得分:0)

这是主要区别

对于带有asset_url的{​​{1}}或url_to_asset方法的图片网址,所以会转到图片目录

type image

对于资产网址,您可以调用js或任何其他资源(视频,音频,样式表..)

   url_to_asset(source, {type: :image}.merge!(options))

https://github.com/rails/rails/blob/d4b0e5f59f599a386d43a7f4d005430e87ae7ec4/actionview/lib/action_view/helpers/asset_url_helper.rb#L316

答案 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)`

的错误