首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails和Shrine创建带有附件的模型记录

Rails和Shrine创建带有附件的模型记录
EN

Stack Overflow用户
提问于 2021-05-27 12:57:34
回答 2查看 291关注 0票数 0

我需要上传图片与神社使用上传,我有默认上传从这里的例子,包括几个衍生工具。

就像这里,https://shrinerb.com/docs/getting-started

但我想在IRB内部创建新的实例,我不知道如何正确地将图像传递给圣殿。当我完成它时,它将在一个脚本中用于转换一组图像。

如果我这么做:

代码语言:javascript
复制
Images.new(
  title: title,
  image: File.open("image.png")
)

它在验证时失败,因为mime类型为空。当我使用表单上传图像时,有ActionDispatch::Http::UploadedFile对象包含完整的信息。

请,我如何将图像传递给上传者,以便正确处理,mime类型存储和创建派生程序?

如果我试试这个。

代码语言:javascript
复制
attacher = Shrine::Attacher.from_model(new_image, :image)
      attacher.assign(image)

内部图像是图像的路径,它在以下方面失败:

*** JSON::ParserError Exception: 784: unexpected token at

如果我通过File.open(图像)来分配方法,我就可以上传原始图像,但是没有mime类型,也没有导数。

我有点困惑。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-28 05:28:43

我有个解决办法。

神社上传器需要一个以二进制模式打开的File对象,所以

代码语言:javascript
复制
        image: File.open(image, binmode: true)

在创建模型类的实例时。

票数 0
EN

Stack Overflow用户

发布于 2021-07-28 14:40:10

有时,当您看到这个解析错误时,这是因为记录已经包含了要更新的列中的一些数据。因此,它尝试将该列读入JSON,但由于它可能是字符串或随机字符,因此它将失败。尝试查看数据库中是否存在非空值或非JSON {}值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67722646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档