【发布时间】:2020-02-19 15:00:52
【问题描述】:
我正在尝试使用ActiveStorage 将 Rails 应用程序升级到 RoR6。
在视图中,我在@project 上使用名为“whiteboard_background”的附加图像上的image_tag。
它在浏览器中显示一个断开的链接: Link
环境:本地存储的开发和文件
型号:
class Project < ApplicationRecord
has_one_attached :whiteboard_background
查看代码:
attachment: <%= @project.whiteboard_background.attached? %>
<p>image:
<%= image_tag @project.whiteboard_background if @project.whiteboard_background.attached? %>
</p>
服务器:
Started GET "/projects/6" for 127.0.0.1 at 2020-02-19 20:29:27 +0100
Processing by ProjectsController#show as HTML
Parameters: {"id"=>"6"}
...
ActiveStorage::Attachment Load (2.8ms) SELECT "active_storage_attachments".* FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_id" = $1 AND "active_storage_attachments"."record_type" = $2 AND "active_storage_attachments"."name" = $3 LIMIT $4 [["record_id", 6], ["record_type", "Project"], ["name", "whiteboard_background"], ["LIMIT", 1]]
↳ app/views/projects/show.html.erb:94
ActiveStorage::Blob Load (0.6ms) SELECT "active_storage_blobs".* FROM "active_storage_blobs" WHERE "active_storage_blobs"."id" = $1 LIMIT $2 [["id", 13], ["LIMIT", 1]]
↳ app/views/projects/show.html.erb:96
Location Load (0.5ms) SELECT "locations".* FROM "locations" ....
我检查了@project.whiteboard_background.attached? 是true 并且在控制台中Project.last.whiteboard_background.metadata 提供了正确的图像数据,表明上传工作正常。
Firefox 检查器确实显示带有源路径的元素,但显示“无法加载图像”。 chrome中的相同行为
如果我从头开始在空白测试应用程序中重复该过程,它可以正常工作并且我可以显示图像。
有什么想法吗?
【问题讨论】:
-
您可以在使用此图像加载视图时从服务器发布日志吗?
-
添加了与Active Storage相关的服务器日志
标签: ruby-on-rails rails-activestorage