我对 Rails 很陌生,我正在尝试在我的应用程序中实现一个多步骤表单,以创建我的User
模型 ( devise
gem) 的新实例。
我使用wicked
gem 并且我选择了缓存持久性和 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
不能写这个头像对象吧?如果是这样,有没有办法解决它?
谢谢您的帮助!