Carrierwave を使用してファイルを Amazon s3 にアップロードする Rails プロジェクトがあります。
bad URI(is not URI?)
などのスペースを含むファイルをアップロードすると、編集操作でエラーが発生しますFile Name.mp3
。s3 にアップロードする前に、ファイル名のスペースをアンダースコアに変換するにはどうすればよいですか?
ドキュメントで見つからない構成オプションはありますか、またはこれを行うためのメソッドを作成する必要がありますか?
更新しました:
これが私のuploaders/track_uploader.rbです: https://gist.github.com/leemcalilly/5025757
ファイルを添付するモデルは次のとおりです: https://gist.github.com/leemcalilly/5025731
これが私のコントローラーです: https://gist.github.com/leemcalilly/5025765
アップローダーで使用する"#{original_filename}".underscore
と、ファイルは正常にアップロードされますが、ファイル名は変換されず、次のように元のファイル名にスペースが含まれているだけであることに注意してください: https://www.evernote.com/shard/s3/sh/ c5a08968-6f6d-4de8-a768-830a378572bc/10ee719307f3c587b531a37868127209
そして、使用する"#{filename}".underscore
とstack level too deep
エラーが発生します。