Rails:从模型加载图像

时间:2015-02-04 15:26:12

标签: html ruby-on-rails image

我是rails的新手,请原谅我,如果这是一个基本问题而且我错过了什么。

我有一个模型,用于存储图像文件的位置,文件名和扩展名。我将它们连接起来并使用image_tag将它们写入模型中的标签。使用正确的路径在HTML中正确呈现标记;但是图像显示为空白。我已将图像添加到app / assets / images,所以一切都应该在适当的位置,但我无法弄清楚图像为什么不渲染。这就是我所拥有的:

模型

 class FileInfo < ActiveRecord::Base
    def fullPath
      "#{location}#{fileName}#{extension}"
    end
 end

查看

<% @letter.relatedMedia.each do |m| %>
    <%= image_tag(m.file_info.fullPath) %>
<% end %>

当图片标记以HTML格式呈现时,我将其作为源代码:

&#34; /images/letters/some-image-file.jpg"

在我的应用程序中,文件存储在此处:

&#34;应用程序/资产/图像/字母/一些图像-file.jpg&#34;

我是否将文件存放在错误的位置?路径没有正确写出来吗?我真的不确定我在哪里出错了。

非常感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:1)

将数据库中存储的路径更改为letters/some-image-file.jpg。您不需要完整路径,因为Rails资产管道将为您找到图像。

了解Rails Asset Pipeline以更好地了解其工作原理。