0

在将应用程序从 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 对象中生成一个字符串。

谁能给我任何线索在哪里看?

提前致谢

4

0 回答 0