Ruby/Rails - Shrine::Error(存储:缓存未在 PdfUploader 上注册)

2024-01-01

我一直在努力弄清楚为什么我在 Heroku 上收到此错误。

Shrine::Error (storage :cache isn't registered on PdfUploader)

初始化器.rb

require "shrine"
require "shrine/storage/s3"

s3_options = {
  access_key_id:     ENV.fetch('AWS_ACCESS_KEY_ID'),
  secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
  region:            ENV.fetch('AWS_REGION'),
  bucket:            ENV.fetch('AWS_BUCKET')
}

Shrine.storages = {
  cache: Shrine::Storage::S3.new(prefix: "cache", upload_options: {acl: "public-read"}, **s3_options),
  store: Shrine::Storage::S3.new(prefix: "store", upload_options: {acl: "public-read"}, **s3_options)
}

Shrine.plugin :activerecord
Shrine.plugin :direct_upload, presign: true

pdf_uploader.rb

class PdfUploader < Shrine
  plugin :determine_mime_type
  plugin :validation_helpers

  Attacher.validate do
    validate_mime_type_inclusion %w(image/jpeg image/png image/gif application/pdf), message: 'must be JPEG, PNG, GIF, or PDF'
  end
end

我可以使用 jquery-file-upload 以及我为获取 presign URL 建立的路由直接从 DOM 上传到 AWS 存储桶中的缓存文件夹:

mount PdfUploader::UploadEndpoint => '/pdfs/upload'

但是,当尝试提交表单并在数据库中创建对象时,出现以下错误:

Shrine::Error (storage :cache isn't registered on PdfUploader)

任何想法或建议将不胜感激。谢谢!

PS - 就其价值而言 - 一切都在我本地运行......这个问题仅在 Heroku 上


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby/Rails - Shrine::Error(存储:缓存未在 PdfUploader 上注册) 的相关文章

随机推荐

  • 即使 UIStatusBarHidden 为 YES,如何防止 iOS 5 显示状态栏?

    一些用户报告称 iOS 5 有时会显示状态栏 在我的 Info plist 中 UIStatusBarHidden 键是 YES 我从不乱搞代码中的状态栏 我能做什么来解决这个问题 Info plist 中的条目应该足以隐藏它 但您可以尝试
  • Firebase 权限被拒绝

    我是 firebase 的新手 我该如何克服以下规则 service cloud firestore match databases database documents match document allow read write if
  • Restful:如何访问Service类中的Httpsession?

    我正在使用泽西岛宁静的网络服务 这是我下面的代码 Path test public class testService POST public String getData Postdata postdata 我的问题是 是否可以在此类中访
  • ImageDataGenerator 输出补丁而不是完整图像

    我有一个大数据集 想用它来通过 Keras 训练 CNN 太大而无法加载到内存中 我总是使用训练ImageDataGenerator flow from dataframe 因为我的图像分布在不同的目录中 如下所示 datagen Imag
  • 数据源绑定时 DataGridView 自动排序不起作用

    我的问题是 当我将数据源绑定到 DataGridView 时 BindingList
  • Python Shutil.copytree() 可以跟踪复制的状态

    我的目录中有很多光栅文件 600 我需要将它们复制到新位置 包括它们的目录结构 有没有办法使用shutil copytree 来跟踪复制的状态 通常对于文件我会使用下面的代码 但不知道如何使用shutil copytree 做同样的事情 f
  • 如何判断宽度是px还是%

    我如何判断 css 属性是否如宽度 ex width 100 已为其指定 px 或 例如 在 Chrome 中 如果我有width 250px 我愿意 div width i get 250而如果我使用百分比 我只需根据屏幕分辨率获取百分比
  • 基于 GWT Servlet 的通知(服务器事件总线)

    谁能想到一个好方法让服务器根据服务器处理情况通知客户端 例如 考虑以下事件 用户请求删除数据 但是由于其运行时间较长 我们将其放入队列中 客户收到 是的 我们成功完成了您的交易 服务器删除该项目 现在想要更新任何客户端可能正在使用的任何本地
  • Emacs 设置哪个功能模式

    我希望在打开 Emacs 时默认启用哪个功能模式 我已将以下行添加到我的 emacs 文件中 setq which func mode t setq which function mode t 当我打开 cpp 文件并导航到函数主体时 我没
  • 数据集不适合内存

    我有一个MNIST像不适合内存的数据集 进程内存 not gpu记忆 我的数据集是 4GB 这不是一个TFLearn issue 据我所知model fit需要一个array for x and y TFLearn 示例 model fit
  • 编译时的模板和 constexpr 推导取决于编译器和优化标志

    以下问题是从更大的代码浓缩而来的 因此 有些表达式看似多余或不必要 但对原始代码至关重要 考虑有一个结构体 其中包含编译时常量和一个简单的容器类 template
  • 哪些 Ruby gem 支持 Facebook API?

    我有一个使用 Facebook API 的 Rails 应用程序 我见过几种不同的用于与 Facebook 集成的 Ruby gem 但它们看起来已经过时了 最好自己编写低级调用吗 有没有合适且当前的宝石可用 这些宝石最近有变化吗 我正在开
  • Puppeteer - 无限滚动的情况

    我想继续向下滚动 直到所有具有特定类名的元素都加载到动态 HTML 环境中 这是我使用的代码 while await page xj7 length lt counter await page evaluate gt window scro
  • JPA持久化后如何从数据库获取值

    如何获取保存到数据库后的值 entityManager persist 在调用 persist 之后 我能够从数据库获取主键值 而不是任何其他值 例如 public void create Project project entityMan
  • GroupBy 查询和位字段

    我正在使用实体框架核心 2 1 我有一个数据库上下文 其中包含一个模型的访问器 该模型包含一个布尔字段 该字段在 MS SQL 数据库中表示为不可为空的位字段 我想构建一个在 SQL 中高效计算的查询 该查询为我提供表中所有行以及启用了位列
  • 公开 WCF 服务以便可以轻松地从 Java/CXF 使用它的最佳方法是什么?

    我们编写了一个供 Java 商店使用的 WCF 服务 该商店使用 CXF 生成适配器 我们对 Java 不太熟悉 但已经使用 basicHttpBinding SSL 和基本身份验证公开了该服务 集成测试表明 NET 客户端可以很好地使用该
  • 如何在不使用Eclipse的情况下添加带有资源的Android库

    我想设置 Android v7 appcompat 库以便使用 ActionBar 在 http developer android com tools support library setup html http developer a
  • 有没有办法将 pyspark 数据帧写入 redis 的 azure 缓存?

    我有一个包含 2 列的 pyspark 数据框 我为 Redis 实例创建了一个天蓝色缓存 我想将 pyspark 数据帧写入 redis 其中数据帧的第一列作为键 第二列作为值 我怎样才能在天蓝色中做到这一点 您需要利用这个库 https
  • 使用嵌入式 jetty 服务器运行 Web 应用程序 (WAR)

    我制作了一个非常基本的 Web 应用程序 只有一个 html 页面 我把它作为战争输出了 现在我创建了一个嵌入式码头服务器 public class SimplestServer public static void main String
  • Ruby/Rails - Shrine::Error(存储:缓存未在 PdfUploader 上注册)

    我一直在努力弄清楚为什么我在 Heroku 上收到此错误 Shrine Error storage cache isn t registered on PdfUploader 初始化器 rb require shrine require s