【问题标题】:How to render an image in rails 4 that is not part of asset pipeline如何在不属于资产管道的 Rails 4 中渲染图像
【发布时间】:2013-12-08 17:11:24
【问题描述】:

我正在开发 Rails 4 应用程序。在这个应用程序中,我的数据库中有一堆“项目”。每个项目都有一个属性“image”,它是一个字符串,我在其中存储一些 html,其中包含链接到另一个站点的 html 图像标记。例如,一个典型的项目有一个图像:

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

我通过调用来渲染这个图像:

<%= raw item.image %>

但在某些情况下,我想渲染存储在我的服务器上的图像。在以前版本的 rails 中,我可以只在公共场合粘贴一张图片,然后使用这样的图片标签:

<img src="image.jpg" />

但我不知道如何使用资产管道执行此操作。我知道我可以这样做:

<%= image_tag "image.jpg" %>

或者:

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

但是我怎样才能将它存储在我的数据库中,这样我所要做的就是渲染它:

<%= raw item.image %>

有没有办法可以解释存储在我的数据库中的 ruby​​ 代码以及视图中的输出?

【问题讨论】:

    标签: ruby-on-rails ruby image asset-pipeline


    【解决方案1】:

    我创建了一个目录:public/images,并将 image.jpg 放入该目录。然后我通过调用来渲染图像:

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

    我最初的问题是我在公共场合有一张图片并打电话给

    <img src="image.jpg" />
    

    我认为如果我只是在图像上附加一个正斜杠,这种方式会起作用:

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

    【讨论】:

      【解决方案2】:

      在图片路径前添加/assets

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

      【讨论】:

      • 这适用于开发,但它不适用于我的生产环境(我在 heroku 上运行)我的应用程序中确实有其他使用资产管道的图像。
      • 想通了。我创建了一个目录“public/images”,将我的图像放在那里,然后通过以下方式引用它:
      • 不错!感谢您的跟进。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      相关资源
      最近更新 更多