问题标签 [rails-activestorage]

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 投票
4 回答
3398 浏览

ruby-on-rails - Rails 5.2 credentials.yaml.enc 和 master.key 在 Heroku 上不起作用

我正在为一个新应用程序设置活动存储,并且在设置我的亚马逊凭据后无法让该应用程序在生产环境中运行。

  1. 我已将我的 s3 存储桶凭据包含在我的credentials.yaml.enc文件中
  2. 我已将我的RAILS_MASTER_KEY环境变量添加到 Heroku。
  3. 我已经根据这个在 storage.yml 文件中设置了我的 s3 存储桶。
  4. 我已将该config.active_storage.service = :amazon行添加到我的 production.rb 中。
  5. 我已添加config.require_master_key = true到我的 production.rb

当我尝试在 Heroku 上运行我的应用程序时,它不会加载。做 $ Heroku run rails console 会给我错误:

据我所知,我已经按照 Rails 5.2 的预期方式设置了我的凭据。我尝试了各种资产预编译的东西都无济于事。当我尝试将我的亚马逊凭据添加为环境时。Heroku 中的变量,该应用程序在生产中运行良好。知道这里可能出了什么问题吗?

0 投票
0 回答
94 浏览

ruby-on-rails - 如何在 Active Storage 中仅存储 .yml 文件

我试图仅对存储的 .yml 文件设置验证。通过一些研究,我正在这样做:

但是现在即使文件是 .yml / .yaml 我也无法存储它,我做错了什么吗?

0 投票
1 回答
4002 浏览

rails-activestorage - Rails 5.2.0 images.attach 导致 InvalidSignature 错误

我正在升级到 Rails 5.2.0 并尝试使用 ActiveStorage 从数据馈送中保存图像。在development.rb我有config.active_storage.service = :local并且模型有has_many_attached :images并且storage.yml有默认:local设置并且控制器动作有

我的代码挂在这条线上

listing.images.attach(pics)出现此错误:ActiveSupport::MessageVerifier::InvalidSignature: ActiveSupport::MessageVerifier::InvalidSignature

我的代码:

使用 --trace 运行后的完整错误:

0 投票
3 回答
1670 浏览

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

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

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

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

0 投票
4 回答
18398 浏览

ruby-on-rails - 如何获取存储在 Rails 控制器的活动存储中的附件的 url

如何获取存储在我的 rails 控制器的活动存储中的 has_one 模型附件的 url。因此,我将能够将其作为 json 中的 api 的完整链接发送。到目前为止,我已经尝试了以下方法,但它们中的每一个都给出了各种问题:

  1. current_user.image.service_url---- #<ActiveStorage::Attached::One:0x 的未定义方法 `service_url'....

  2. Rails.application.routes.url_helpers.rails_disk_blob_path(current_user.image, only_path: true),它给了我这样的输出:

    "/rails/blob/%23%3CActiveStorage::Attached::One:0x007f991c7b41b8%3E"

但这不是一个网址,对吧?我无法在浏览器上点击并获取图像。

  1. url_for ----

    #<Api::V1::UsersController:0x007f991c1eaa98 的未定义方法“active_storage_attachment_url”

0 投票
0 回答
289 浏览

ruby-on-rails - 减少生产服务器上对活动存储文件的请求

我在 html 页面(头像)上有大约 100 个小图像。浏览器同时创建 100 个请求,nginx 乘客返回 503,请求队列已满(配置限制)。

如果我在一段时间后在 nginx 配置中添加过期图像,所有图像都是 404,因为活动存储旧链接不再工作。

如何使用 nginx 过期创建指向活动存储映像和缓存的永久链接?

0 投票
5 回答
5664 浏览

ruby-on-rails - ActiveStorage 固定装置附件

在轨道测试中。我有一个只有活动存储的基本模型:

我正在尝试使其成为固定装置,但没有运气(我确实有一张图片):

如何通过固定装置正确附加头像文件?

0 投票
1 回答
2716 浏览

ruby-on-rails - Rails 5.2 API ActiveStorage 如何获取多图像的 URL 路径?

我正在从回形针迁移到 Rails 5.2 和活动存储。我只使用 Rails 作为 API。

如何获取has_many_attached 的 URL 路径:images

这是有效的单个文件的代码:

当我尝试为多图像做类似的事情时,我只是得到这些图像,而不是它们的 URL。

0 投票
4 回答
10540 浏览

ruby-on-rails - Rails ActiveStorage 错误 - MessageVerifier-InvalidSignature

我正在做一个需要模型ActiveStorage has_many_attached :photos情况的项目Location

我在下面设置了代码,但是在尝试上传表单时,我收到以下错误:

这是将文件“添加”到特定父记录(即:Location记录)的附件集中的方法吗?

Location模型

位置控制器

看法

看法

0 投票
2 回答
4623 浏览

ruby-on-rails - 将活动的存储附件下载到光盘

该指南说我可以将附件保存到光盘上以在其上运行如下进程:

我的模型有一个附件定义为:

然后在我定义的模型中:

但是我收到一个错误:

在 zip.open 通话中。

如何在本地保存 zip 以进行处理?