问题标签 [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.
ruby-on-rails - 使用 Shrine gem 将图像上传到 s3 中的不同文件夹(按专辑名称)
我设法使用神社将文件上传到s3,但我试图根据它所属的相册将每张照片上传到不同的文件夹。
假设我有一个名为:的存储桶abc
:
上传图片到相册:family
应该上传图片到:abc/family/...
上传图片到相册:friends
应该上传图片到:abc/friends/...
我没有找到Shrine.storages
在初始化文件中执行此操作的方法。
我想这样做的方法是以某种方式使用default_storage
和dynamic_storage
插件,但我还没有成功。
有什么建议/解决方案吗?
非常感谢 :)
关系:
Album has_many :photos
Photo belongs_to :album
Photo
类有image_data
神社的领域。
我在初始化程序中的代码:(基本的东西)
编辑:
我发现有一个名为:的插件pretty_location
,它添加了一个更好的文件夹结构,但它不完全是我需要的,它添加/Photo/:photo_id/image/:image_name
在存储桶下,但我需要专辑名称。
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.html)presign_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(或类似的)可以尝试使用我的凭据和文件?
ruby-on-rails - Rails 破坏了 has_one 关联上的上传
我有一个带有关联的组织模型has_one :uploads, as: :uploadable
这是一个多态关系
在创建记录方面一切正常,但是当我编辑时:
控制器调用build_upload
edit 方法,该方法建立一个新的关联并实际上破坏了现有的关联。
如果我不打电话build_upload
,表格上传字段是空白的。
我不知道发生了什么......我能做些什么来防止破坏,has_one
这样现有的上传就不会丢失?
我应该怎么做才能确保表格填写现有的上传?
ruby-on-rails - 如何在视图上显示文件大小?[神殿宝石-铁轨]
我有这些关联,我正在使用神社 gem 上传文件。
项目负责人
我想在 Project#show 视图中显示项目及其所有关联及其详细信息(文件大小、文件名等)。我可以使用@project.cover_image.size 显示项目封面图像的大小,但是当我将它用于 photo.image.size 时会抛出错误
ruby-on-rails - 用 Shrine 保存 PDF
我正在尝试用 Shrine 保存 pdf 文件。按照 Shrine自述文件,我正在归因
my_model.image = File.open('my_pdf.pdf')
但这会引发错误:
我怎样才能做到这一点?有没有办法用 Shrine 保存二进制文件?
这是我正在使用的上传器:
ruby-on-rails - 根据文件类型处理文件 [宝石神社]
我有一个表单字段,用户可以在其中上传图像或文档(pdf、word、excel 等)。如何告诉 Shrine 上传者根据文件类型处理上传的文件。
还是有更好的方法来做到这一点?
ruby-on-rails - 有神社的几个尺寸不起作用
我使用 gem Shrine 在我的网站上上传图像。我想为我的图像设置几个尺寸(创建一个微型相册)
所以我写在我的上传文件中,就像在神社的自述文件中一样:
但是资产 :original :large :medium 和 :small 具有相同的大小......
我可能在我的上传文件中出错了......你能看到吗?
ruby-on-rails - (Rails)根据父记录验证多态关联?
我有一个Upload
文件上传模型,它在具有多态关联的其他模型之间共享。
Upload
连接到不同的Shrine上传器,例如ImageUploader
,BackgroundUploader
或VideoUploader
, 以上传和处理不同的文件类型。为此,Upload 为每种文件类型设置了不同的列,例如image_data
、video_data
或background_data
。
现在,一个关联的“父母”Upload
应该只支持某些文件类型。当关联到…</p>
Product
,它应该只允许上传图片和视频Announcement
,它应该只允许图片上传Site
,它应该只允许后台上传
如何Upload
根据与父记录的关联来验证模型?这种验证应该发生在它的父模型中upload.rb
还是在它的父模型中?
就代码而言,Upload
应该只允许与父级关联的各个字段。像……</p>
谢谢!
ruby-on-rails - 使用多个 Rails ActiveStorage 服务
我正在使用 ActiveStorage 上传 PDF 和图像。由于一些隐私问题,PDF 需要存储在本地,而图像需要使用 Amazon S3 存储。但是,ActiveStorage 似乎只支持为每个环境设置一种服务类型(除非您使用镜像功能,在这种情况下它不能满足我的需要)。
有没有办法在同一环境中使用不同的服务配置?例如,如果一个模型has_one_attached pdf
使用本地服务:
如果另一个模型has_one_attached image
使用亚马逊服务: