0

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

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

现在,一切正常,直到我遇到avatar我的最后一个步骤(a @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不能写这个头像对象吧?如果是这样,有没有办法解决它?

谢谢您的帮助!

4

0 回答 0