在 Rails 管理中编辑带有图片的项目 3.1.2 引发错误 ' 未定义的方法 ' url



我正在把我的ruby从2.7.3升级到3.2.2。除了我独自处理的许多其他问题。我得到这个与Rails_Admin和编辑对象附带图像。

应用程序是Rails 6.1.7版本,我使用神社宝石图像上传3.4。我有模型事件和创建事件是可以的,但编辑产生错误。当我尝试打开编辑页面时,我得到:

显示/home/zire/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.2/app/views/rails_admin/主/_form_file_upload.html.erb第6行:

undefined method `url' for {:small=>#<StoryImageUploader::UploadedFile storage=:store id="403e525375510ed0575d905f52d58989.png" metadata={"filename"=>"image_processing20211129-7381-r1a05c.png", "size"=>16761, "mime_type"=>nil, "width"=>120, "height"=>59}>, :medium=>#<StoryImageUploader::UploadedFile storage=:store id="5a3b89da95d34693994a12baa71131a4.png" metadata={"filename"=>"image_processing20211129-7381-1158qla.png", "size"=>77113, "mime_type"=>nil, "width"=>360, "height"=>177}>, :featured=>#<StoryImageUploader::UploadedFile storage=:store id="0fec2d25a6662926126e123862245274.png" metadata={"filename"=>"image_processing20211129-7381-c97xn8.png", "size"=>463991, "mime_type"=>nil, "width"=>1140, "height"=>559}>}:Hash

on line:

thumb && bindings[:object].public_send(:"#{name}", thumb).try(:url) || value.url

经过多次尝试,我设法通过更新该行来解决问题:

thumb && bindings[:object].public_send(:"#{name}", thumb).try(:url) || value[value.keys.first].url

当然,我认为它需要更多的关注,问题在左边,但对我来说,这已经足够了。

这是我的fork和commit的参考:https://github.com/nezirz/rails_admin/commit/6fb120d21ddbc19cf39d736c14113bd4892411af