【发布时间】:2021-06-23 21:54:04
【问题描述】:
我正在遵循 Rails ActiveStorage 指南。我已成功将图像保存到本地数据库中的 blob 表中(附件表为空)。但我似乎无法在视图中显示它:
<%= url_for(@comment.images) if @comment.images %>
不管用也不行:
<% @comments.each do |c| %>
<%= c.body %>
<%= url_for(c.images) if c.images %>
<% end %>
显示评论的其他值有效,因此这是特定于图像的。我也尝试将 .url 添加到“图像”中。而且我尝试了 image_tag 而不是 url_for。并循环播放图像。和 image_tag url_for (而不是只使用其中之一)。并使用表示。在所有这些情况下都没有运气。非常感谢任何帮助。
还有我的模特
has_many_attached :images
应用程序.js
//= require activestorage
import Rails from "@rails/ujs"
import Turbolinks from "turbolinks"
import * as ActiveStorage from "@rails/activestorage"
import "channels"
Rails.start()
Turbolinks.start()
ActiveStorage.start()
控制器
private
def comment_params
params.require(:comment).permit(:body, images: [])
end
【问题讨论】:
-
这些图片是
representable?能否请您查看@comment.images.first.representable?的结果 -
您是否从
Active Storage Overview文档中查看了Displaying Images, Videos, and PDFs 部分? -
@SampatBadhe 嘿 Sampat,谢谢您的评论。我收到此错误:nil:NilClass 的未定义方法“可表示”。我也试过
<%= image_tag i.representation(resize: '500x500') %>,但什么也没显示。 (“i”,因为我正在遍历它们) -
您确定图片存在以供评论吗?请问
@comment.images.attached?返回真假? -
@SampatBadhe 谢谢——你说得对,它返回 false。这是什么意思? Blob 表显示图像,所以我只是假设(“元数据”是空的)。
标签: ruby-on-rails ruby rails-activestorage