在将应用程序从 Rails 2.3/Ruby 1.8.7 迁移到 Rails 3.2.9/Ruby 1.9.3 时,我遇到了将文件上传到数据库的问题。不使用 Paperclip 或 Carrierwave gem(由于遗留原因,这不是一种选择。
在接收上传文件的 controller#create 操作中,params 哈希有一个字符串,而不是预期的 ActionDispatch::Http::UploadedFile 对象。
字符串是"#<ActionDispatch::Http::UploadedFile>"
. 所以上传失败 b/c 这个字符串不响应#read。
该文件已正确上传到 Rails(查看浏览器时间线工具)。
中间件堆栈与全新的 Rails 3.2.9 应用程序相同。
我处于停顿状态,不知道如何调试它。在传入的请求和控制器之间,有些东西正在从 UploadedFile 对象中生成一个字符串。
谁能给我任何线索在哪里看?
提前致谢