如何从 Rails 缓存哈希上传照片?

问题描述

我对 Rails 很陌生,我正在尝试在我的应用中实现一个多步骤表单,以创建我的 User 模型 (devise gem) 的新实例。

我使用 wicked gem 并选择了缓存持久性和 ID/Key-in-Session 作为处理它的策略。

目前,一切正常,直到我在表单中遇到 avatar 步骤,这是我的最后一个步骤(@user has_one_attached :avatar)。

当我尝试提交表单时,我从该行收到了以下问题:Rails.cache.write(session.id,user_attrs)

TypeError in Users::UserStepsController#update
can't dump File

这是我提交图片时的 user_attrs

{"messenger_id"=>"1234567890123456","form_step"=>:profile_picture_step,"first_name"=>"John","last_name"=>"Doe","email"=>"john@gmail.com","password"=>"1234","password_confirmation"=>"1234","avatar"=>#<Actiondispatch::Http::UploadedFile:0x00007fbdc4cdf418
  @tempfile=#<Tempfile:/var/folders/m_/8ln6gczs1ns1gnn53p6vskwr0000gn/T/RackMultipart20210527-5416-uy59kl.png>,@original_filename="Screenshot 2021-05-26 at 20.34.43.png",@content_type="image/png",@headers="Content-disposition: form-data; name=\"user[avatar]\"; filename=\"Screenshot 2021-05-26 at 20.34.43.png\"\r\nContent-Type: image/png\r\n">}

好像Rails.cache.write不能写这个头像对象,对吗?如果是这样,有什么办法可以解决吗?

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)