2013-12-08 42 views
4

我正在使用Rails 4应用程序。在这个应用程序中,我有一堆“项目”在我的数据库中。每个项目都有一个属性“图像”,这是一个字符串,我存储了一些包含链接到另一个网站的html图像标签的html。例如,一个典型的项目有一个图片:如何在轨道4中渲染不属于资产管道的图像

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

我通过调用使这个形象:

<%= raw item.image %> 

但我有一定的情况下,如果我想使存储的图像我服务器。在以前版本的轨道,我可能只是坚持的形象在公众面前,并使用图像标签,像这样:

<img src="image.jpg" /> 

但我无法弄清楚如何与资产管道做到这一点。我知道我可以做一些事情,像这样:

<%= image_tag "image.jpg" %> 

或者:

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

但我怎么可以存储这个在我的数据库,让所有我需要做的渲染是:

<%= raw item.image %> 

有没有一种方法,我的数据库中存储的ruby代码,并在视图中输出可以解释?

回答

2

我做了一个目录:公共/图像,并把image.jpg文件到该目录中。然后,我通过调用渲染的图像:

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

我原来的问题是,我曾在公众的形象,并呼吁

<img src="image.jpg" /> 

我想如果我只是附加一个斜线,以这种方式会工作图像:

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

前面加上/assets图像路径:

<img src="/assets/image.jpg"> 
+0

这可以在开发中使用,但它在我的生产环境中不起作用(我在heroku上运行)我的应用程序中有其他图像使用资产管道。 – user1160958

+0

想通了。我做了一个名为“公共/图像”的目录,将我的图像放在那里,然后通过以下参考: user1160958

+0

不错!感谢后续。 – NARKOZ