Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Activestorage映像保存在blob中,但未显示在视图中_Ruby On Rails_Ruby_Rails Activestorage - Fatal编程技术网

Ruby on rails Activestorage映像保存在blob中,但未显示在视图中

Ruby on rails Activestorage映像保存在blob中,但未显示在视图中,ruby-on-rails,ruby,rails-activestorage,Ruby On Rails,Ruby,Rails Activestorage,我正在遵循rails ActiveStorage指南。我已成功地将图像保存到本地数据库中的blob表中(附件表为空)。但我似乎无法在视图中显示: 不起作用,也不起作用: 显示注释的其他值是有效的,因此这是特定于图像的。我还尝试将.url添加到“images”中,并尝试使用image_标记代替url_。并在图像中循环。和图像标记url(而不是仅使用其中一个)。以及使用表示法。在所有这些情况下都没有运气。我真的很感激任何帮助 还有我的模特 附加了很多图片 application.js /=

我正在遵循rails ActiveStorage指南。我已成功地将图像保存到本地数据库中的blob表中(附件表为空)。但我似乎无法在视图中显示:


不起作用,也不起作用:


显示注释的其他值是有效的,因此这是特定于图像的。我还尝试将.url添加到“images”中,并尝试使用image_标记代替url_。并在图像中循环。和图像标记url(而不是仅使用其中一个)。以及使用表示法。在所有这些情况下都没有运气。我真的很感激任何帮助

还有我的模特

附加了很多图片
application.js

/=需要activestorage
从“@Rails/ujs”导入Rails
从“TurboLink”导入TurboLink
从“@rails/ActiveStorage”导入*作为ActiveStorage
导入“频道”
Rails.start()
Turbolinks.start()
ActiveStorage.start()
控制器


私有的
def注释参数
参数require(:comment).permit(:正文,图像:[])
结束

您已指定附加了多个图像,因此@comment.images将包含一个图像数组,因此以下代码将显示您的注释的第一个图像

     <%= image_tag(@comment.images.first) if @comment.images.attached? %>


如果要显示所有图像,可以遍历@comment.images数组并显示每个图像

解决方案是将文件上载表单从



它以前没有上传,有人建议切换到“多部分”。它解决了外观上传问题,但没有附加图像

我想外观上的上传现在也可以用了,因为我疯狂地尝试了很多东西


现在,附件表正在填充图像。在只填充blob表之前。

这些图像是否可以表示?请检查
@comment.images的结果。首先,可以表示?
您是否查看了“如何从
Active Storage Overview
文档”部分?@Sampat Hey Sampat,谢谢您的评论。我得到了这个错误:nil:NilClass的未定义方法'representable'。我也试过
,但什么也没显示。(“我”因为我在循环浏览它们)你确定有图像可供评论吗?请检查
@comment.images.attached?
返回true或false?@sampatbad谢谢你——你完全正确,它返回false。这是什么意思?blob表显示了图像,所以我只是假设(“元数据”是空的)。如前所述,我尝试了循环。它不起作用。你能用上面的代码显示第一张图片吗?不能,因为我的问题是唯一的(请查看我发布的答案)