Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Rails和Shrine创建带有附件的模型记录

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

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

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

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

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

如果我这么做:

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

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

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

如果我试试这个。

代码语言:javascript
运行
AI代码解释
复制
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-27 21:28:43

我有个解决办法。

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

代码语言:javascript
运行
AI代码解释
复制
        image: File.open(image, binmode: true)

在创建模型类的实例时。

票数 0
EN

Stack Overflow用户

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

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

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

https://stackoverflow.com/questions/67722646

复制
相关文章
MeritMS成果带附件和校审记录
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/details/73926827
hotqin888
2018/09/11
5000
MeritMS成果带附件和校审记录
创建包含源文件的IP-带有参数
有时候我们想参考官方的源码,但是有些IP怎么也找不到官方的源码,具体原因是什么呢?
碎碎思
2021/01/13
2.1K0
创建包含源文件的IP-带有参数
Rails MVC 和 CRUD(12)
保存成功就直接显示,如果保存失败,就重绘 new 页面,new 页面中加入了对错误信息的显示
franket
2021/11/25
2610
Rails MVC 和 CRUD(2)
MVC 分块设计有助于管理复杂的应用程序,因为可以在一段时间内只用关注一个方面;例如,可以在不依赖业务逻辑的情况下专注于视图设计;同时也让应用程序的测试更加容易;MVC 分层同时也简化了分组开发;不同的开发人员可同时开发视图、控制器逻辑和业务逻辑
franket
2021/11/24
3770
Rails MVC 和 CRUD(5)
创建了一个叫 ArticlesController 的类,继承自 ApplicationController
franket
2021/11/24
3440
Rails MVC 和 CRUD(7)
(这里的 /articles 明明对应两个方法,GET、POST ,有点不太明白,为什么这样指定就一定成了POST请求)
franket
2021/11/24
2010
Rails MVC 和 CRUD(9)
保存数据 修改 create 方法,对提交的数据进行保存 [root@h202 blog]# vim app/controllers/articles_controller.rb [root@h202 blog]# cat app/controllers/articles_controller.rb class ArticlesController < ApplicationController def new end def create # render plain: params
franket
2021/11/25
1940
Rails MVC 和 CRUD(15)
点击 【Destroy】 后会根据我们的定义弹出提示 连续删除几次后所剩无几 目前已经通过 Rails 实现了文章的 新建、显示、列出、更新、删除 操作 ---- 命令汇总 rails server -b 0.0.0.0 rails generate controller welcome index cat app/views/welcome/index.html.erb vim config/routes.rb grep -v " #" config/routes.rb | grep -v
franket
2021/11/25
3560
Rails MVC 和 CRUD(13)
定义 update 方法,并且添加 edit 链接和 show 链接 [root@h202 blog]# vim app/controllers/articles_controller.rb [root@h202 blog]# cat app/controllers/articles_controller.rb class ArticlesController < ApplicationController def new @article = Article.new end def
franket
2021/11/25
1680
Rails MVC 和 CRUD(3)
要在 Rails 中显示“My first test” 的静态页面,需要新建一个控制器和视图
franket
2021/11/24
7240
Rails MVC 和 CRUD(8)
再次提交一回 ---- 创建模型 Rails 提供了一个生成器用来创建模型 [root@h202 blog]# bin/rails generate model Article title:string text:text Running via Spring preloader in process 13216 invoke active_record create db/migrate/20160422140912_create_articles.rb c
franket
2021/11/25
2660
正确的 Git 提交记录和分支模型
两年前编写的文章 Git Style,是参考业界实践对 Git 提交记录格式和分支模型所做的总结。本文在 Git Style 基础上,再次描述提交记录的格式和分支模型,并介绍两个工具 commitizen 和 gitflow,分别处理维护提交记录格式和分支切换的工作。
芋道源码
2018/12/25
1.1K0
正确的 Git 提交记录和分支模型
Rails MVC 和 CRUD(1)
Rails 的相关基础,详细可以参考 官方文档 和 Ruby China 的 Rails 入门
franket
2021/11/24
3500
Rails MVC 和 CRUD(10)
再次加载 可以成功显示了 ---- 列出所有文章 [root@h202 blog]# vim app/controllers/articles_controller.rb [root@h202 blog]# cat app/controllers/articles_controller.rb class ArticlesController < ApplicationController def new end def create # render plain: params[:ar
franket
2021/11/25
1870
Rails MVC 和 CRUD(6)
不过,通过查看源码,我们可以看到 action 部分指向的是当前页面 action="/articles/new" , 而这个页面 (Restfull API) 应该是用来进行显示的,而不是进行处理的
franket
2021/11/24
2740
如何在 Linux 中创建带有特殊字符的文件?
在 Linux 系统中,创建文件是进行各种操作的基础。有时候,我们需要创建带有特殊字符的文件,例如包含空格、特殊符号或非ASCII字符的文件。本文将详细介绍在 Linux 中如何创建带有特殊字符的文件,以便您能够轻松地完成这样的任务。
网络技术联盟站
2023/08/03
8690
如何在 Linux 中创建带有特殊字符的文件?
点击加载更多

相似问题

Rails -创建父模型记录和嵌套模型记录?

10

Rails模型:消息和附件依赖

14

Rails:在模型规范中测试文件上传验证(Shrine )

25

多态模型上的Rails附件

21

Rails:嵌套模型表单不创建记录

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文