如何在Rails 4中渲染不属于资产管道的图像

4

我正在开发一个Rails 4应用程序。在这个应用程序中,我有数据库中的一堆“项”(items)。每个“项”都有一个属性“image”,它是一个字符串,其中我存储了一些包含指向另一个站点的HTML图像标记的HTML内容。例如,一个典型的项目具有以下图像:

<a href=\"http://anotherpage.com\" target=\"_blank\"><img src=\"http://anotherpage.com/path/to/image\" ></a>

我通过调用以下代码来渲染这张图片:
<%= raw item.image %>

但是我有一些情况,我想渲染存储在服务器上的图像。 在之前的Rails版本中,我可以将图像放在public文件夹中,然后使用如下的图像标签:

<img src="image.jpg" />

但是我不知道如何在资产管道中实现这一点。我知道可以像这样做:

<%= image_tag "image.jpg" %>

或者:

<img src="<%= asset_path('image.jpg') %>" />

但是我该如何将这个内容存储到我的数据库中,以便于只需执行以下操作即可呈现:
<%= raw item.image %>

我在数据库中存储了 Ruby 代码,如何在视图中输出时能够解释它呢?

2个回答

2

我创建了一个目录:public/images,并将image.jpg放到该目录中。然后通过调用以下代码来呈现该图像:

<img src="/images/image.jpg" />

我的原始问题是,我在公共区域放置了一张图片并进行了调用。

<img src="image.jpg" />

如果我只是在图片后面添加一个斜杠,那么这种方法应该可以起作用:

<img src="/image/jpg" />

1
在图片路径前添加/assets
<img src="/assets/image.jpg">

这在开发中可以运行,但在我的生产环境中无法运行(我正在Heroku上运行)。 我的应用程序中确实有其他使用资产管道的图像。 - user1160958
搞定了。我创建了一个名为“public/images”的目录,把我的图片放在里面,然后通过以下方式引用它: - user1160958
不错!感谢跟进。 - NARKOZ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接