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>". したがって、この文字列が #read に応答しないため、アップロードは失敗します。

ファイルは Rails に正しくアップロードされています (ブラウザーのタイムライン ツールを参照)。

ミドルウェア スタックは、新しい Rails 3.2.9 アプリと同じです。

これをデバッグする方法がわからず、立ち往生しています。着信要求とコントローラーの間で、何かが UploadedFile オブジェクトから文字列を作成しています。

誰かがどこを見ればよいか手がかりを教えてもらえますか?

前もって感謝します

4

0 に答える 0