问题标签 [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 - 如何在 ActiveStorage (Rails 5.2) 中更新附件
我最近将我的项目升级到最新的 Rails 版本(5.2)以获得ActiveStorage
- 一个处理附件上传到 AWS S3、Google Cloud 等云服务的库。
几乎一切正常。我可以上传和附加图片
并收到它
但现在我想替换/更新用户的头像。我以为我可以跑
再次。但这会引发错误:
那应该是什么意思?如何更改用户头像?
ruby-on-rails - Rails - 如何利用 Active Storage JavaScript 事件
我正在使用RubyonRails 的Active Storage,似乎在提交表单时会执行某些 JavaScript 事件(至少这是我的理解),我正在尝试收听这些事件。
我的表单非常简单,只是一个输入字段和图像字段
在application.js
文件中,我添加了以下代码来测试会发生什么,但不幸的是我的尝试都不起作用
当我提交表单时,尽管数据已保存在数据库中,但我的事件侦听器没有侦听该事件,因为我没有收到任何警报。
所以我的问题是
提交表单时如何监听这些Active Storage javascript 事件?
任何帮助将不胜感激。
ruby-on-rails - 如何在 Rails 中正确使用 ActiveStorage 进行模型测试?
我刚刚切换到在 rails 5.1.4 上使用 ActiveStorage,我是 TDD 的新手,正在努力弄清楚如何测试一个模型has_one_attached :avatar
但我收到以下错误:
有什么提示吗?
ruby-on-rails-5 - Rails 5.2 带有 Cocoon 表单的 Active Storage
我想使用带有 Active Storage 的动态茧表单将一些图像保存到模型中来处理文件。
我有一个农夫班,里面有很多苹果,农夫可以通过农夫表格为每个不同种类的苹果添加多个图像。
在农夫控制器内部,我有:
我的观点我刚刚将它添加到我的茧领域
accepts_nested_attributes_for
现在,一旦农夫对象被保存,cocoon 将使用调用保存苹果属性。apple_images
在我尝试将其添加到表单之前,这一切都很好。
阅读 Active Storage 自述文件,我看到它建议您应该在保存项目后立即附加文件。
你可以在这里阅读自述文件
但简而言之,如果您想要控制器中的单个图像,请执行以下操作:
或者如果你想要多个图像:
当图像直接在我保存在控制器中的模型上时,这似乎相当简单。
起初,我认为这可能就像将 apple_images 添加到参数中一样简单,如下所示:
但这会返回一个错误:
我正在考虑在苹果模型上使用 after_save 回调来在苹果对象更新/创建后附加图像。虽然我也不确定如何实现这一点。
感觉有点失落,任何想法或建议将不胜感激
编辑
这是更新时参数的样子:
ruby-on-rails - 是否可以将 ActiveStorage 配置为在附加文件后立即开始上传,而不是在单击提交按钮时开始上传?
我喜欢 Rails 5.2 中用于文件上传的新 ActiveStorage 模块的外观,但在我为我的网站重写大量代码之前,看起来上传只有在用户单击提交按钮时才开始。
有谁知道 ActiveStorage 是否可以配置为在附加文件后立即上传?
ruby-on-rails - 无法在 Rails 中使用 ActiveStorage 创建文件字段
我正在尝试在 Rails 5.2 中使用 Active Storage。我发现我应该file
在迁移中创建类型为字段,但是我有一个错误:
移民:
我试图创建字符串字段,但它不起作用。
在官方文档中找不到任何相关内容
我有活动存储迁移,我通过了
ruby-on-rails - 如何在heroku上安装mupdf?
我已经升级到 rails 5.2 并且正在实施 ActiveStorage。ActiveStorage 使用 mutool 进行 PDF 处理。我已经使用自制软件在本地成功安装了 mutool。
我已经按照以下步骤在heroku上成功安装了apt和mupdf:
mupdf 在推送期间构建成功
如果我刷新页面以调用 PDF 上的变体,则图像无法处理并且作业会返回以下错误:
似乎 mutool 和 mupdf 是同义词...所以,我尝试在我的 Aptfile 中将 mutool 换成 mupdf...未能从“...未找到”构建。
有人知道我需要采取什么行动吗?
PS:这是使用 ActiveStorage 实现 rails 5.2 的一部分。
更新
我将 mupdf-tools 添加到 Aptfile 中,这似乎解决了“没有这样的文件或目录”错误。我不确定,因为出现了新的错误
ruby-on-rails - ActiveStorage 文件附件验证
有没有办法使用 ActiveStorage 验证附件?例如,如果我想验证内容类型或文件大小?
像回形针的方法会很棒!
ruby-on-rails - Active Storage 引发 ActiveSupport::MessageVerifier::InvalidSignature
为了使用 Active Storage 将图像文件导入 Rails 应用程序,我编写了这样的 Rake:
当我执行这个任务时,我得到了一个 Exception ActiveSupport::MessageVerifier::InvalidSignature
。
我怎样才能避免这个错误?
模型源代码Post
为:
我使用默认的config/storage.yml
.
Rails 的版本是 5.2.0.beta2。
ruby-on-rails - 将 ActiveStorage blob 作为 blob 获取
我正在构建一个 Rails 应用程序,它允许用户直接在浏览器中访问某些上传的文件,但与实际文件的 URL 不同。这样可以通过强制登录来保护文件。
因此,例如,您可以访问以下位置的文件:domain.com/file/19371da
过去,我通过使用 CarrierWave 完成此操作,然后to_blob
对文件本身进行操作,然后使用send_data
和使用数据库中存储的有关文件的数据将其发送回:
然而,当使用新的 Active Storage 作为 CarrierWave 的潜在替代品时,我在将实际文件本身作为 blob 传递给该send_data
方法时遇到了困难。
例如
它给出了一个错误undefined method 'to_blob' for #<ActiveStorage::Attached::One:0x007f8f23ca2718>
。
如何在 Active Storage 中将实际文件作为 blob 获取?