BETA

【Rails】CarrierWave + S3 でユーザ画像の投稿 3 表示 Minimagic

投稿日:2019-12-11
最終更新:2019-12-11

CarrierWaveでS3に投稿した画像を表示させます。
表示の際は、Minimagckを使用して画像をリサイズします。

【Rails】CarrierWave + S3 でユーザ画像の投稿 1
https://sunnydayservice.qrunch.io/entries/RhF0dkbocJtm4K8h

【Rails】CarrierWave + S3 でユーザ画像の投稿 2
https://sunnydayservice.qrunch.io/entries/5Yu66gYPdJOAyxOB

の続きです。

参考

~~magicの使い方
http://noodles-mtb.hatenablog.com/entry/2013/07/08/151316
https://qiita.com/_ayk_study/items/218a094dd28303728a9d
https://qiita.com/wann/items/c6d4c3f17b97bb33936f

Minimagickのインストール

Railsでは、Rmagicaを使用している記事が多いですが、現在サポートされているのがMinimagickのようなので、そちらを使用します。
Minimagickを使用するためには、ローカル環境にImageMagickをインストールしている必要があるため、各自行っておいてください。

Gemファイル

gem 'mini_magick'  

をコメントアウトします。

そして、

$ bundle install  

image_uploader.rb

今回、Minimagickを使用するために編集するのはimage_uploader.rb のファイルです。

app/uploaders/image_uploader.rb

#~~~中略  

#コメントアウトを外す  
include CarrierWave::MiniMagick  


#~~~中略  

#追加  
process resize_to_fill: [325, 325, "Center"]  

include CarrierWave::MiniMagick のコメントアウトを外します。コメントアウトされていたことを見ると、RailsではもともとMinimagickを使うことが想定されてますね。

process resize_to_fill: [325, 325, "Center"] は、縦横比を維持しないので、今回はこちらの機能を使いました。

以上で完成です。
他のオプションもあるので興味のある方は、参考のまとめを見てください~

まとめ

これでSinatraにも画像投稿機能を追加できそう!

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

初学者の成長が垣間見れます

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう