PF作成中に生じたエラーです。オチは非常に簡単なものだったので前提条件は省きます。
erbファイルに以下の様に記述してサーバーを起動し、quiz_image(image_tagで表示されるはずの画像)を確認しようとしました。<%= image_tag quiz.quiz_image.variant(resize: '300×300'), class: 'card-img-top' %>
だけ見てくだされば大丈夫です。
_quiz.html.erb
<% if quiz.quiz_image.attached? %>
<%= image_tag quiz.quiz_image.variant(resize: '300×300'), class: 'card-img-top' %>
<% end %>
<div class="card-body">
<h3 class="card-title"><%= quiz.title %></h3>
<p class="card-text"><%= quiz.sentence %></p>
<% quiz.tags.each do |tag| %>
<%= tag.name %>
<% end %>
<%= link_to '問題詳細へ', quiz, class: 'btn btn-primary' %>
</div>
しかし、画像が表示されません。そこでターミナルを確認すると以下の様に書いてありました。
MiniMagick::Error (`gm convert /var/folders/43/2kbncrm93jsb1tpd11tsys0r0000gn/T/ActiveStorage-24-20210221-35258-1rq06qb.jpeg[0] -auto-orient -resize 100×100 /var/folders/43/2kbncrm93jsb1tpd11tsys0r0000gn/T/image_processing20210221-35258-1uhkzzk.jpeg` failed with error:
gm convert: Option '-resize' requires an argument or argument is malformed.
):
最後の一文をざっくり翻訳すると「resizeメソッドの文法がなんかおかしいよ」とあります。(malformedとは奇形という意味です)
みたところ変なところはないのでとりあえずググってみました。すると以下の記事を発見しました。
どうやら
'300×300'
ではなく
'300x300'
が正しい様です。一見同じ様に見えますが'×(かける)'と'x(エックス)'が違います。
書き直して再確認するとうまく行きました。どうやらASCIIには×という文字は存在しない様で、xで代用しているみたいです。