我有一个关于使用asset_sync和Heroku CDN的问题。在this article中,它说
确保您使用的是Rails AssetTagHelper方法(如 IMAGE_TAG)。这将确保您的所有资产都将引用新资产 资产主持人。
这是否意味着我的应用中的任何普通html <img>
代码或引用都不起作用?或者也许只是警告带有绝对URL的标签?
编辑:我知道我可以而且应该在views或css中使用image_tag和image_path。我问的是,我有吗?
答案 0 :(得分:2)
它们可以正常运行,但您需要手动将其指向您同步资产的位置,即亚马逊S3上的一些存储桶。除非您的资产几乎不会改变,否则不建议使用。
您可以在production.rb配置中配置资产路径,如下所示:
config.action_controller.asset_host = "http://assets.domain.com"
然后,无论何时引用asset_path,它都将指向环境配置中定义的主机上的资产。
也许解决方案(不了解你的确切问题)就是做这样的事情:
<img src="<%= asset_path("image.png") %>" />
答案 1 :(得分:1)
您应该使用
<%= image_path("logo.png") %>
而不是
<img src="<%= asset_path("image.png") %>" />
您可以了解有关此辅助方法here的更多详细信息。另外,如安德鲁所指定,您需要在配置文件中指定asset_host。这是一个小blogpost相同的
此外:
如果您想从亚马逊s3中提取css背景图标/图像,请使用:
background-image: image_url("icon.png"); // it requires scss extension ie saas and also you must has saas rails gem included.