Rails6 がリリースされましたので、早速、action_text を触ってみました。
そうしたところ、アップロードした画像がview/〇〇〇/showで表示されない?!という現象が起きましたので、その際に表示させる為におこなったことを記します。
※ちなみに開発環境(ローカル)で起こったことなのでWebサーバー上では問題ないのかもしれません。
開発環境
- Window10
- WSL(Windows Subsystem for Linux)
- Ruby2.6.3
- Rails 6.0.0
結果 WSLでimagemagickをする
おそらく、action_textをview/〇〇〇showで表示する際に画像データにリサイズがかかっているのですが、環境にimage_magikがインストールされていないとmini_magickがちゃんと働かず表示されなくなるようです。
※active_storageで普通には画像が表示されるのに、.variantを使用したら画像が表示されなくなったので、そこから当たりをつけました。
参照: Railsのactive_storageとmini_magick使ってみる
sudo apt-get install imagemagik
で環境にインストール。
その後、無事に表示されました。
合せてactive_storageの.variantも使えるようになります。
# Use Active Storage variant
gem 'image_processing', '~> 1.2'
Gemfileでコメントを外します。そして、
bundle install
※下記のmodelは、利用しているモデル名、columnは、モデルで、has_one_attached, やhas_many_attachedをしているカラム名に置き換えてください。
<%= image_tag model.column.variant(resize: '100x100') %>
そうすると、resize: で指定したサイズに画像が変換されるかと思います。
画像が表示されなくて、ちょっとビックリしましたので、もし同じような状況になった方は試してみてください。
action_text や active_storeage の使い方は下記などご参照いただければ良いかと思います。