我是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;
我是否将文件存放在错误的位置?路径没有正确写出来吗?我真的不确定我在哪里出错了。
非常感谢您提供的任何帮助!
答案 0 :(得分:1)
将数据库中存储的路径更改为letters/some-image-file.jpg
。您不需要完整路径,因为Rails资产管道将为您找到图像。
了解Rails Asset Pipeline以更好地了解其工作原理。