1
0

More than 1 year has passed since last update.

画像投稿で画像が表示されないエラーの対処【Ruby on Rails】

Last updated at Posted at 2022-03-20

画像投稿時のエラー

top.png

コードは載せていませんが、上の画像の「新規投稿」画面で「ファイルを選択」から画像と、テキストを記入し、「投稿する」を押したところ、投稿はされたものの下記の画像のように画像だけが表示されない現象が起きました。

新規投稿_画像表示されず.png

 画面上では何がエラーなのか分からなかったので、「rails s」を実行したコンソールで何か出ていなか確認したところ、下記のようなエラー内容が出ていました。

コンソール rails s
MiniMagick::Error (You must have ImageMagick or GraphicsMagick installed):

翻訳すると、「ImageMagickまたはGraphicsMagickがインストールされている必要があります」といった内容。

そこでエラー内容を調べたところ、「ImageMagick」のインストールをして解決したという記事を複数見つけたので、早速試してみることに。
参考:【解決】Image Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: You must have ImageMagick or GraphicsMagick installed

ImageMagickのインストール
brew install imagemagick

MacBookが物凄いファンの音と発熱をしながら、頑張ってインストールしてくれたお陰?で、インストール後、無事に画像投稿に成功しました!

画像投稿成功.png

次に画像を投稿せずに、テキストだけ投稿したらどうなるか試したところ、嫌な予感はしましたが、いつも通りエラーが出ました。 このエラーの対策はRailsチュートリアルに何か書いてあるだろうと思い検索したところ、「attached?」という論理値を返すメソッドを使って対処していることが分かりましたので、見様見真似で下記のように修正。

変更前
     <%= image_tag @post.image.variant(resize: "570x570") %>
変更後
     <%= image_tag @post.image.variant(resize: "570x570") if @post.image.attached? %>

修正したところ、テキストだけの投稿も表示することが出来ました!!!:sob:

1
0
1

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