【发布时间】:2021-06-18 13:06:08
【问题描述】:
导轨:6.1 按照 ActiveStorage 文档中的基本步骤,我为我的用户模型添加了一个头像字段,并且上传似乎成功了。但是当我想显示 @user.avatar 时,我得到了一个图片的 url,但 url 似乎是 404。图片没有显示。
这是我的图片标签:
<img src="<%= image_path(url_for(@user.avatar)) %>" alt="Avatar for <%= @user.username %>">
<%= image_tag @user.avatar, class: 'user-image', alt: "Avatar for #{@user.username}" %>
这两个都失败了。渲染的 HTML 在这里:
<img src="/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--569f9d466f5dd0d4917db040f0f87d948c0af667/paddle.png?locale=en" alt="Avatar for Someone">
查看路径,paddle.png 是我上传的图像,我认为上传是可以的。但是为什么不显示呢?
【问题讨论】:
-
图片上传到哪里? S3?您确定这些图片已设置为可公开查看吗?
-
这是开发环境,我没有使用外部服务。
-
好吧,您能验证一下图片是否正在上传到 URL 指向的位置吗?
-
对不起,我不知道去哪里找。但我有我的存储文件夹,它在
storage/2e/gt/21djawhdrtz535fre1和另一个具有相同结构的嵌套文件夹中有这些。到目前为止,我添加了 2 张图片,其中有两张。但只是为了尝试我创建了一个新模型并检查了现在存储中有 3 个文件夹。所以每张图片都在那里。 -
如果在浏览器中打开图片所在的路径,会显示出来吗?或者您也收到 404 错误?
标签: ruby-on-rails rails-activestorage