LoginSignup
1
0

More than 1 year has passed since last update.

[Rails]CarrierWaveでimageの保存ができない

Last updated at Posted at 2023-03-12

現象

開発環境ではうまく動くのに、本番環境ではなぜかファイルのアップロードが出来ていなくて保存ができない現象が発生したので、その時の解決方法を残しておきます。

エラー

エラー
#<ActiveModel::Errors [#<ActiveModel::Error attribute=images, type=translation missing: ja.errors.messages.mini_magick_processing_error, options={}>]>

原因

  • MiniMagick(ImageMagick)の日本語化が出来ていないため、翻訳に失敗している。
  • そもそも、MiniMagick(ImageMagick)がインストールされていないなど、エラーが発生している。

解決方法1

  • config/locales/ja.yml に, MiniMagick(ImageMagick)のエラーの日本語訳を追加する。
config/locales/ja.yml
ja:
  errors:
    messages:
      carrierwave_processing_error: 処理できませんでした
      carrierwave_integrity_error: は許可されていないファイルタイプです
      carrierwave_download_error: はダウンロードできません
      extension_white_list_error: "%{extension}ファイルのアップロードは許可されていません。アップロードできるファイルタイプ: %{allowed_types}"
      extension_black_list_error: "%{extension}ファイルのアップロードは許可されていません。アップロードできないファイルタイプ: %{prohibited_types}"
      rmagick_processing_error: "rmagickがファイルを処理できませんでした。画像を確認してください。エラーメッセージ: %{e}"
      mime_types_processing_error: "MIME::Typesのファイルを処理できませんでした。Content-Typeを確認してください。エラーメッセージ: %{e}"
      mini_magick_processing_error: "MiniMagickがファイルを処理できませんでした。画像を確認してください。エラーメッセージ: %{e}"

解決方法2

  • そもそもインストールされていない場合は、インストール
    ※私の環境では、こちらでした…😅
インストール
sudo apt-get -y install imagemagick
  • 必要なモジュールが足りていない可能性がある場合は、convertコマンドのバージョン情報を調査して追加
    ※動いている開発環境との差異をみてください。
差異調査
convert -version
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0