我想知道如何在外部控制器/视图上输出img_tag。我在Rails中生成了Carrierwave上传器并将其安装到特定型号上。现在我想在不同控制器的视图中访问上传的图像。我得到的是像/images/%23%3CImage::ActiveRecord_Relation:0x00000004a503a8%3E
这样的输出。
在Image模型中,使用
安装上传器mount_uploader :image, ImageUploader
我尝试获取img_path
或创建img_tag
,但我不会得到有效的结果。例如,我这样做:
<div class="parallax-container">
<% @image = Image.where(category: 'Parallax', id: :id) %>
<div class="parallax"><%= image_path(@image) %></div>
</div>
debug params
输出显示我的控制器为games
,例如特定页面上的id:
为1。因此,即使我更改了where hash并告诉它使用id: '1'
,我也无法获得正确的图像路径。
如果我改为使用<%= image_tag(@image) %>
,则会为SRC和ALT参数创建相同的ActiveRecord-Relation-Output。
当我尝试使用<%= image_tag @image.img_url %>
时,我被告知img_url
是一种未定义的方法。
游戏和图像以这种方式相关,游戏中有许多图像,而图像属于游戏。
我还尝试将一个实例变量添加到游戏节目控制器中,但它不会改变结果。