如何在预编译之前链接到ROOT / app / assets / images中的图像?

时间:2015-02-12 19:50:08

标签: html ruby-on-rails image path

我正在尝试使用html在预编译资源之前渲染图像,这会将所有图像移动到公共文件夹中。

此代码:<img src="Flower.jpg">指向此路径:<RAILS ROOT>/public/app/assets/images/Flower.jpg

如何编写html链接到这里:<RAILS ROOT>/app/assets/images/Flower.jpg?它必须是可能的,因为用erb渲染它可以正常工作:<%=image_tag("Flower.jpg")%>

我尝试写出这样的完整路径:<img src="/app/assets/images/Flower.jpg">但该代码没有显示任何内容。

我还尝试使用helper.image_tag("Flower.jpg")的精确rails控制台打印输出,这是:

<img alt=\"Flower\" src=\"/assets/Flower.jpg\" />

但该代码也没有做任何事情。

2 个答案:

答案 0 :(得分:0)

不需要链接的“app”部分:

<img src="assets/images/Flower.jpg"

答案 1 :(得分:0)

经过大量研究,我了解到这个html可以访问App文件夹中的图像:

<img src="/assets/Flower.jpg">

但这并不是非常有用,因为预编译会移动所有图像,因此代码在部署后将不再使用正确的路径。因此,如果我在预编译之前将相关图像放入我的公共文件夹,我可以像这样链接到它们:

<img src="/Flower.jpg">

并且该路径在预编译之前和之后都会有效。