问题标签 [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 投票
1 回答
396 浏览

ruby-on-rails - 是否应该将 Active Storage 二进制变体文件推送到版本控制?

我一直在开发我的网络应用程序并将图像上传到应用程序,当我推送到 bitbucket 时,它包括存储文件夹中的所有(许多)二进制文件。我没有更改默认的 Active Storage 配置。这应该发生吗?

0 投票
2 回答
5118 浏览

ruby-on-rails - ActiveStorage 不会裁剪变体

我正在将我的 rails 应用程序从回形针迁移到 ActiveStorage,它只是不接受crop变体中的参数

这一行:

导致此错误:

而例如。这有效:

0 投票
3 回答
1892 浏览

ruby-on-rails - Rails ActiveStorage:DirectUpload 回调

我在直接使用 ActiveStorage 的 DirectUpload 对象时遇到了一些麻烦。我正在遵循 RailsGuides 中的示例,但我一定遗漏了一些东西。这是我的问题的快速布局:

  1. 我正在努力实现的目标。
  2. 我已经尝试过的事情。
  3. 我目前的问题是什么。

1. 我想要完成的事情

使用 ActiveStroage,我试图让用户在一个简单的表单上选择多个文件,并在选择文件后自动启动直接上传。

这是与最终用户交互的表单:

_media_upload_form.html.erb

2. 我已经尝试过的事情

要在用户选择文件后完成自动文件上传,我必须直接与 DirectUpload 对象交互。这个提示可以在ActiveStroage RailsGuides上找到。让它与以下 JS 代码一起使用没有问题:

direct_uploads.js

所以,我完成了一个目标。我有文件一被选择就上传。现在,我的下一个目标是访问事件,因此我知道上传何时完成、进度等。知道上传何时完成尤其重要,这样我就可以提交表单并创建对象并将其附加到上传的文件中。所以,使用这样的东西:

不起作用,因为我直接访问 DirectUpload 对象。至少,到目前为止,这是我的经验。有点疑惑为什么,我注意到ActiveStroage RailsGuides中的一个细节(我最初忽略了)说您可以通过创建自己的 DirectUpload 上传类来绑定处理程序。因此,使用指南中提供的示例,我创建了以下内容:

my_uploader.js

direct_uploads.js

3. 我目前的问题是什么

我认为我的问题是我错过了一些东西,也许是一步。正在调用 MyUploader 构造函数,但不再上传文件。只有构造函数被调用,就是这样。不再调用实际的上传过程。我不知道如何让自定义 MyUploader 继续上传过程,就像 DirectUpload 对象一样。

任何人都可以提供的任何方向将不胜感激。

谢谢!

0 投票
2 回答
2349 浏览

ruby-on-rails - 如何使用活动存储读取 .xlsx 文件数据

我有这门课,我正在使用活动存储

我知道有很多 gems creekwrite_xlsx_railsroo可以读取或写入 .xlsx 文件,但它们都需要文件的物理位置。以前,我使用creek gem来读取 .xlsx 文件,但我必须将该文件保存在本地。

现在我正在使用将 .xlsx 文件存储为二进制文件的活动存储。我无法找到一种方法将该文件读取为 xlsx 文件。虽然 Active storage 提供了下载方法来获取文件的二进制数据。

我在某处阅读了一个示例,该示例通过将二进制数据解析为类似csv 的方式读取具有活动存储的 csv 文件数据。

有什么方法可以读取带有活动存储的 excel 文件?

0 投票
1 回答
48 浏览

ruby-on-rails - 如何向 ActiveStorage blob 添加喜欢和评论

标题说明了一切。如何定义ActiveStorage::Attachment与我的模型相关联的关系?我希望能够commentreactphotos以及Post

0 投票
1 回答
1844 浏览

ruby-on-rails - Rails 5.2 - 主动存储 - 太慢了?

首先,我是 Rails 的新手,我的英语不是很好,所以请多多包涵:)

我为 5.2 版本更新了我的 Rails 并安装了活动存储。我可以上传图片或附件,效果很好。问题是当我尝试获取图像时,它们需要大约 30 秒到 60 秒才能出现在屏幕上。这不正常,所以我肯定做错了什么。

我的安装过程如下:

rails active_storage:安装

轨道数据库:迁移

'模式':

“存储.yml”:

在 'config/environments/development.rb' 上:

之后我更新了我的模型:

然后在控制器中更新了我的参数:

按照我的表格:

最后是我的索引:

我还安装了 Mini-Magick gem(和 ImageMagick 根据需要),但我还没有使用它。

版本:

  • ImageMagick 6.8.9-9)
  • 红宝石 2.3.1p112
  • 导轨 5.2.0

网络选项卡:如您所见,获取图像需要很长时间。 网络

日志:我也包括了日志,但是 TBH 我不太了解那里,所以也许你可以检测到错误。 日志第 1 部分日志第 2 部分日志第 3 部分日志第 4 部分

我不知道我是否没有做某事或者我做错了什么,但事实是当我加载我的索引页面时,我的图像需要很长时间才能显示出来......

希望可以有人帮帮我。先感谢您。

0 投票
0 回答
827 浏览

ruby-on-rails - Rails 5.2 ActiveStorage 将 PDF 拆分为图像

我以前使用 CarrierWave 和 ImageMagick 将 PDF 拆分为图像,使用如下所示:

使用 Rails 5.2,ActiveStorage 似乎是上传的方式,所以我正在尝试迁移所有内容。

我有以下内容,它在技术上有效:

但是,我很好奇这是否是最好的方法,或者是否有更好的方法?例如,我希望将一个数组传递给 attach 方法,但遇到了错误。上述过程似乎也需要相当长的时间来执行(尽管 PDF 文件很大)。

而且,控制台挂在“Performed ActiveStorage::AnalyzeJob”上,但我认为这只是因为它是一个异步作业。

提前感谢您的帮助!

0 投票
2 回答
942 浏览

ruby-on-rails - Active Storage,指定一个谷歌存储桶目录?

我一直在 Rails 5.2 上实施 Active Storage Google 策略,目前我可以毫无问题地使用 rails 控制台上传文件,我唯一缺少的是是否有一种方法可以指定存储桶内的目录。现在我上传如下

我的 storage.yml 上的配置

但是在我的存储桶中有不同的目录,例如 bucketname/department1 等。我浏览了文档,但没有找到指定更多目录的方法,我所有的上传都以存储桶名称结尾。

0 投票
1 回答
1841 浏览

ruby-on-rails - Rails 不检测文件更改并且 config.reload_classes_only_on_change 使服务器太慢

首先我不知道这是否是一个错误。到目前为止,我一直在 rails development.rb 环境配置中使用此命令,因此该框可以检测到我的文件的更改:

config.reload_classes_only_on_change = false

但是现在,使用 Rails 5.2 和 Active Storage,该命令会使服务器速度变慢,加载图像需要 10 到 40 秒。

它是一个错误吗?还有另一种方法可以让 vagrant/rails 检测到我的文件上的更改,而无需每次更改某些内容时都让我重新加载服务器?

希望你能帮我!此致

0 投票
0 回答
638 浏览

ruby-on-rails - Heroku 上的活动存储

全部。有没有人在 Heroku 上成功部署了可预览的 Active Storage。我遵循Heroku Devcenter 上的指导,添加了 buildpack,但仍然没有爱。运行which ffmegwhich poppler从 heroku bash 运行时,我没有收到任何响应,表明未安装必要的二进制文件。

有任何想法吗?