问题标签 [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.
ruby-on-rails - 是否应该将 Active Storage 二进制变体文件推送到版本控制?
我一直在开发我的网络应用程序并将图像上传到应用程序,当我推送到 bitbucket 时,它包括存储文件夹中的所有(许多)二进制文件。我没有更改默认的 Active Storage 配置。这应该发生吗?
ruby-on-rails - ActiveStorage 不会裁剪变体
我正在将我的 rails 应用程序从回形针迁移到 ActiveStorage,它只是不接受crop
变体中的参数
这一行:
导致此错误:
而例如。这有效:
ruby-on-rails - Rails ActiveStorage:DirectUpload 回调
我在直接使用 ActiveStorage 的 DirectUpload 对象时遇到了一些麻烦。我正在遵循 RailsGuides 中的示例,但我一定遗漏了一些东西。这是我的问题的快速布局:
- 我正在努力实现的目标。
- 我已经尝试过的事情。
- 我目前的问题是什么。
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 对象一样。
任何人都可以提供的任何方向将不胜感激。
谢谢!
ruby-on-rails - 如何使用活动存储读取 .xlsx 文件数据
我有这门课,我正在使用活动存储
我知道有很多 gems creek、write_xlsx_rails、roo可以读取或写入 .xlsx 文件,但它们都需要文件的物理位置。以前,我使用creek gem来读取 .xlsx 文件,但我必须将该文件保存在本地。
现在我正在使用将 .xlsx 文件存储为二进制文件的活动存储。我无法找到一种方法将该文件读取为 xlsx 文件。虽然 Active storage 提供了下载方法来获取文件的二进制数据。
我在某处阅读了一个示例,该示例通过将二进制数据解析为类似csv 的方式读取具有活动存储的 csv 文件数据。
有什么方法可以读取带有活动存储的 excel 文件?
ruby-on-rails - 如何向 ActiveStorage blob 添加喜欢和评论
标题说明了一切。如何定义ActiveStorage::Attachment
与我的模型相关联的关系?我希望能够comment
和react
到photos
以及Post
。
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 我不太了解那里,所以也许你可以检测到错误。
我不知道我是否没有做某事或者我做错了什么,但事实是当我加载我的索引页面时,我的图像需要很长时间才能显示出来......
希望可以有人帮帮我。先感谢您。
ruby-on-rails - Rails 5.2 ActiveStorage 将 PDF 拆分为图像
我以前使用 CarrierWave 和 ImageMagick 将 PDF 拆分为图像,使用如下所示:
使用 Rails 5.2,ActiveStorage 似乎是上传的方式,所以我正在尝试迁移所有内容。
我有以下内容,它在技术上有效:
但是,我很好奇这是否是最好的方法,或者是否有更好的方法?例如,我希望将一个数组传递给 attach 方法,但遇到了错误。上述过程似乎也需要相当长的时间来执行(尽管 PDF 文件很大)。
而且,控制台挂在“Performed ActiveStorage::AnalyzeJob”上,但我认为这只是因为它是一个异步作业。
提前感谢您的帮助!
ruby-on-rails - Active Storage,指定一个谷歌存储桶目录?
我一直在 Rails 5.2 上实施 Active Storage Google 策略,目前我可以毫无问题地使用 rails 控制台上传文件,我唯一缺少的是是否有一种方法可以指定存储桶内的目录。现在我上传如下
我的 storage.yml 上的配置
但是在我的存储桶中有不同的目录,例如 bucketname/department1 等。我浏览了文档,但没有找到指定更多目录的方法,我所有的上传都以存储桶名称结尾。
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 检测到我的文件上的更改,而无需每次更改某些内容时都让我重新加载服务器?
希望你能帮我!此致
ruby-on-rails - Heroku 上的活动存储
全部。有没有人在 Heroku 上成功部署了可预览的 Active Storage。我遵循Heroku Devcenter 上的指导,添加了 buildpack,但仍然没有爱。运行which ffmeg
或which poppler
从 heroku bash 运行时,我没有收到任何响应,表明未安装必要的二进制文件。
有任何想法吗?