Rails ActiveStorage url_for 返回无效的 URL

2023-11-20

我有一个带有头像的员工模型。我可以将图像附加到头像,但每当我尝试显示图像时,

url_for(@employee.avatar)

产生死链接。我所看到的只是来自的价值alt来自标签的属性。我得到的图像标签如下

<img src="/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--4786aa4d9d82d8f8d572b857965088b20fcb2f49/Portrait.jpg" 
alt="Thumbnail">

我知道图像已正确附加。当我调用以下命令时,我得到这个结果:

@employee.avatar
=> #<ActiveStorage::Attached::One:0x00007ff7e9ba41c0 @name="avatar",
@record=#<Employee id: 4, first_name: "Meda", last_name: "Burgdorf",  
created_at: "2019-03-03 23:03:00", updated_at: "2019-03-03 23:17:56">, 
@dependent=:purge_later> 

as I can see the image in the storage directory Screenshot file structure

非常感谢您的帮助。谁能帮我显示保存的图像。

这是我的设置。

class Employee < ApplicationRecord
   has_one_attached :avatar
   ...
end

我的 storage.yml 文件的内容

local:
   service: Disk
   root: <%= Rails.root.join("storage") %>

我的 Active Storage 迁移已迁移。查看我的 schema.rb 文件

ActiveRecord::Schema.define(version: 2019_03_03_211537) do

  create_table "active_storage_attachments", force: :cascade do |t|
    t.string "name", null: false
    t.string "record_type", null: false
    t.integer "record_id", null: false
    t.integer "blob_id", null: false
    t.datetime "created_at", null: false
    t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id"
    t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
  end

  create_table "active_storage_blobs", force: :cascade do |t|
    t.string "key", null: false
    t.string "filename", null: false
    t.string "content_type"
    t.text "metadata"
    t.bigint "byte_size", null: false
    t.string "checksum", null: false
    t.datetime "created_at", null: false
    t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
  end

由于 Active Storage 将路由附加到主路由文件中,因此它们会在您捕获所有路由之后出现。更好的是,您可以避开活跃的存储路线,例如

get '*path', to: redirect('/'), constraints: lambda { |req|
  req.path.exclude? 'rails/active_storage'
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails ActiveStorage url_for 返回无效的 URL 的相关文章

随机推荐

  • 将 PHP 对象图序列化/反序列化为 JSON

    我想将完整的 PHP 对象图序列化为 JSON 字符串表示形式 并将其反序列化回相同的 PHP 对象图 以下是我考虑过的选项的摘要 以及它们对我不起作用的原因 serialize 没有做我想要的 因为它使用特定于 PHP 的格式 我想要一种
  • 当单步进入类实例化时,Eclipse 调试器会转到本机代码

    我最近升级到了 helios 现在每次我进入一个类的构造函数时 例如Cat myCat new Cat Eclipse 调试器将堆栈显示为 为了获得实际的构造函数代码 我必须退出几次 这很烦人 每个类都会发生这种情况 尽管有堆栈 但我从未在
  • java.exe始终指向JRE而不是JDK的路径

    我的 Windows 7 上安装了 jdk 和 jre 我已将 JAVA HOME 设置为 C Program Files Java jdk1 6 0 23 我已经添加了 C Program Files Java jdk1 6 0 23 b
  • 列出回调?

    有什么办法可以制作一个list每次修改列表时都调用一个函数 例如 gt gt gt l 1 2 3 gt gt gt def callback print list changed gt gt gt apply callback l cal
  • 如何格式化 Vuetify 数据表日期列?

    我有一个简单的数据表 使用Vuetify数据表 其中一列是createdOn 日期时间 我想格式化它 我该怎么做 这就是我现在得到的
  • 在输入[type='number']上,Edge 始终为“valueAsNumber”返回“NaN”

    以下内容在 Chrome 和 Firefox 中运行良好 但在 Edge 中会发出警报NaN无论输入 document querySelector button addEventListener click function alert d
  • Paypal 按钮 - 添加变量以返回 URL

    我正在尝试向网站添加一个简单的 PayPal 按钮 我想要做的是将按钮设置为包含需要选择的 选项 这不是问题 我已创建按钮并显示选项选择框 我想要做的是返回到我自己的域上的 URL 但让 URL 包含付款前选择的下拉框中的选定选项 所以我从
  • 在控制器之间设置和检索对象的 Angular 服务

    我一直在尝试从 http post 响应设置一个服务对象到一个控制器并从另一个控制器获取它 我在 SO 或网站中看到的教程更多地侧重于将其从 HTML 输入获取到控制器 然后另一个控制器获取值 我想避免使用 rootscope 而且我是 a
  • 如何在64位Window下连接R与Access数据库?

    当我尝试将 R 与 Access 数据库连接时出现错误 odbcConnectAccess is only usable with 32 bit Windows 有谁知道如何解决这个问题 library RODBC mdbConnect l
  • OpenCVSharp:无法加载 DLL“OpenCvSharpExtern”

    我已经在我的项目中使用 NuGet 管理器安装了最新的 OpenCVSharp 2 2 4 10 201 有关 OpenCVSharp CvMat 的所有内容都工作正常 加载 操作等 因此我确信安装是正确的 但是我根本无法使用 OpenCV
  • iPhone 6 显示缩放功能扰乱了整个视图

    我在使用 iPhone 6 时遇到问题显示缩放功能 如 Xcode 6 1 1 模拟器没有显示缩放功能来测试 并且仅具有标准显示 Problem 当我在模拟器和 iPhone6 带标准显示 上运行代码时 它工作正常 但是当我在 iPhone
  • 如何减少新表单的“使用”样板?

    每次我向项目中添加新表单时 都会在使用条款中删除一大堆样板文件 uses Windows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs 说真的 谁会定期
  • npm 在哪里安装包?

    有人可以告诉我在哪里可以找到我使用安装的 Node js 模块吗npm 全球图书馆 你可以运行npm list g查看安装了哪些全局库以及它们所在的位置 使用npm list g head 1对于仅显示路径的截断输出 如果您只想显示主包而不
  • p.classname 或 .classname p,有什么区别吗?

    所以 我对这个简单的事情有点困惑 我已经尽可能多地用谷歌搜索 但我只是不知道谷歌搜索的正确关键字 我尝试了 CSS 选择器等 没有答案足以消除我的困惑 所以我也测试过 p classname似乎不起作用 但根据我正在读的书中的定义 2012
  • 如何计算R中矩阵乘积的对角线

    我有两个矩阵A and B 那么最快的方法是什么just计算diag A B 即内积ith row of A and ith的列B and 不关心其他项的内积 补充 A and B分别具有较大的行数和列数 这可以在不进行完整矩阵乘法的情况下
  • WPF 中 MDI 的替代方案?

    希望这是一个合适的问题 我第一次使用 WPF 最终目标是将我们的程序从 winforms 应用程序转换为 WPF 应用程序 我们的应用程序当前使用 MDI 表单作为主表单 以允许打开多个窗口来显示数据等 在 WPF 中 显示多组数据的最佳实
  • pkill 通过远程 ssh 与另一个命令结合返回 255

    当我尝试在远程主机上结合另一个命令执行 pkill 时 它总是返回 255 即使这两个命令都成功 Examples ssh
  • 如何在 R 中创建显示预测模型、数据和残差的图表

    给定两个变量 x and y 我对变量运行动态回归 并希望根据其中一个变量绘制拟合模型 并在底部显示实际数据线与预测线的残差 以显示实际数据线的差异 我以前见过它 我以前也做过 但我一生都不记得如何做或找到任何解释它的东西 这让我陷入了困境
  • R doParallel 进度条来监控已完成的作业

    我正在尝试编写一个具有多线程功能的 CRAN 包 我得到了一个完美的解决方案doSNOW 但该软件包已被 CRAN 团队标记为 取代 他们要求我切换到doParallel解决方案 这很好 但是我找不到一种方法来监控使用完成的作业数量doPa
  • Rails ActiveStorage url_for 返回无效的 URL

    我有一个带有头像的员工模型 我可以将图像附加到头像 但每当我尝试显示图像时 url for employee avatar 产生死链接 我所看到的只是来自的价值alt来自标签的属性 我得到的图像标签如下 img src rails acti