Techioz Blog

Rails 6.1.4 - Ruby 3.0.1 - ActiveStorage および WebP 画像形式

概要

ActiveStorage で WebP イメージを提供するために Rails をセットアップする方法に関する適切な情報はありません。

誰かがそれを行う方法を説明できますか?

私は試みます:

アプリケーション.rb

config.active_storage.web_image_content_types = %w(image/jpeg image/png image/webp 
image/jpg)

そしてビューでは:

<% image_tag( f.image_1.variant(resize_to_limit: [800,600], format: :webp) ) %>

しかし、これは開発上では機能します(jpegへのリンクが表示されますが、マウスの右ボタンを使用して「名前を付けて画像を保存」すると、画像は.WebPとして保存されます)

運用環境では、ブラウザの画像のデフォルト アイコンが表示されず、.jpg へのリンクが表示されません。

RoRは死んだ…

解決策

フォーマットと変換を組み合わせることでこれを機能させることができました。

image.variant(resize_to_limit: [800,600], convert: :webp, format: :webp)

ただし、URL 内のファイル名は .jpg または元のファイル タイプのままです。それを修正する方法はまだわかりません。