问题标签 [shrine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1369 浏览

ruby-on-rails - 使用 Shrine gem 将图像上传到 s3 中的不同文件夹(按专辑名称)

我设法使用神社将文件上传到s3,但我试图根据它所属的相册将每张照片上传到不同的文件夹。

假设我有一个名为:的存储桶abc

上传图片到相册:family应该上传图片到:abc/family/...

上传图片到相册:friends应该上传图片到:abc/friends/...

我没有找到Shrine.storages在初始化文件中执行此操作的方法。

我想这样做的方法是以某种方式使用default_storagedynamic_storage插件,但我还没有成功。

有什么建议/解决方案吗?

非常感谢 :)

关系: Album has_many :photos Photo belongs_to :album

Photo类有image_data神社的领域。

我在初始化程序中的代码:(基本的东西)

编辑:

我发现有一个名为:的插件pretty_location,它添加了一个更好的文件夹结构,但它不完全是我需要的,它添加/Photo/:photo_id/image/:image_name在存储桶下,但我需要专辑名称。

0 投票
2 回答
804 浏览

ruby-on-rails - 使用神社和 aws-sdk 上传到 digitalocean 空间时出错

我正在使用神社直接上传到aws-s3存储桶并且工作正常。现在我想改用 DigitalOcean spaces。所以我改变了一些神社的设置,如下所示(只改变了env与空格相关的变量)。

我还在空格中​​添加了 cors 以允许所有请求,如下所示

Cors 设置

但是当我上传时,我收到了这个错误。

这里可能是什么问题?我可以看到content-type策略中缺少错误提示。但是,如果是这样,我该如何添加呢?

0 投票
1 回答
864 浏览

ruby - 错误“SignatureDoesNotMatch”。谷歌云存储桶 PUT

我正在失去理智。

我将 Shrine ( https://github.com/janko-m/shrine ) 与 Google Cloud Storage ( https://github.com/renchap/shrine-google_cloud_storage ) 一起使用,但是当我开始PUT通话时,我得到了这个:

我关注了这个信息(http://shrinerb.com/rdoc/classes/Shrine/Plugins/PresignEndpoint.htmlpresign_endpoint,但仍然没有:

我尝试了有无这个(每次都重新启动 Rails 服务器)。

我哪里错了?

我还尝试使用带有 PUT 到该 URL 并且没有任何content-type的 Postman 。但还是一无所获。

我在这里阅读:https ://github.com/GoogleCloudPlatform/google-cloud-node/issues/1976和这里:https ://github.com/GoogleCloudPlatform/google-cloud-node/issues/1695

如果没有 Rails,我该如何尝试?

是否有 REPL(或类似的)可以尝试使用我的凭据和文件?

0 投票
2 回答
90 浏览

ruby-on-rails - Rails 破坏了 has_one 关联上的上传

我有一个带有关联的组织模型has_one :uploads, as: :uploadable

这是一个多态关系

在创建记录方面一切正常,但是当我编辑时:

控制器调用build_uploadedit 方法,该方法建立一个新的关联并实际上破坏了现有的关联。

如果我不打电话build_upload,表格上传字段是空白的。

我不知道发生了什么......我能做些什么来防止破坏,has_one这样现有的上传就不会丢失?

我应该怎么做才能确保表格填写现有的上传?

0 投票
1 回答
414 浏览

ruby-on-rails - 如何在视图上显示文件大小?[神殿宝石-铁轨]

我有这些关联,我正在使用神社 gem 上传文件。

项目负责人

我想在 Project#show 视图中显示项目及其所有关联及其详细信息(文件大小、文件名等)。我可以使用@project.cover_image.size 显示项目封面图像的大小,但是当我将它用于 photo.image.size 时会抛出错误

0 投票
0 回答
606 浏览

ruby-on-rails - 用 Shrine 保存 PDF

我正在尝试用 Shrine 保存 pdf 文件。按照 Shrine自述文件,我正在归因

my_model.image = File.open('my_pdf.pdf')

但这会引发错误:

我怎样才能做到这一点?有没有办法用 Shrine 保存二进制文件?

这是我正在使用的上传器:

0 投票
1 回答
377 浏览

ruby-on-rails - 根据文件类型处理文件 [宝石神社]

我有一个表单字段,用户可以在其中上传图像或文档(pdf、word、excel 等)。如何告诉 Shrine 上传者根据文件类型处理上传的文件。

还是有更好的方法来做到这一点?

0 投票
0 回答
142 浏览

ruby-on-rails - 有神社的几个尺寸不起作用

我使用 gem Shrine 在我的网站上上传图像。我想为我的图像设置几个尺寸(创建一个微型相册)

所以我写在我的上传文件中,就像在神社的自述文件中一样:

但是资产 :original :large :medium 和 :small 具有相同的大小......

我可能在我的上传文件中出错了......你能看到吗?

0 投票
0 回答
505 浏览

ruby-on-rails - (Rails)根据父记录验证多态关联?

我有一个Upload文件上传模型,它在具有多态关联的其他模型之间共享。

Upload连接到不同的Shrine上传器,例如ImageUploader,BackgroundUploaderVideoUploader, 以上传和处理不同的文件类型。为此,Upload 为每种文件类型设置了不同的列,例如image_datavideo_databackground_data

现在,一个关联的“父母”Upload应该只支持某些文件类型。当关联到…</p>

  • Product,它应该只允许上传图片和视频
  • Announcement,它应该只允许图片上传
  • Site,它应该只允许后台上传

如何Upload根据与父记录的关联来验证模型?这种验证应该发生在它的父模型中upload.rb还是在它的父模型中?

就代码而言,Upload应该只允许与父级关联的各个字段。像……</p>

谢谢!

0 投票
3 回答
1670 浏览

ruby-on-rails - 使用多个 Rails ActiveStorage 服务

我正在使用 ActiveStorage 上传 PDF 和图像。由于一些隐私问题,PDF 需要存储在本地,而图像需要使用 Amazon S3 存储。但是,ActiveStorage 似乎只支持为每个环境设置一种服务类型(除非您使用镜像功能,在这种情况下它不能满足我的需要)

有没有办法在同一环境中使用不同的服务配置?例如,如果一个模型has_one_attached pdf使用本地服务:

如果另一个模型has_one_attached image使用亚马逊服务: