IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Active Storage を使ってみる

参考:Active Storage For Image Uploads | Ruby on Rails 5.2 Tutorial - YouTube

 

上記の参考リンクを写経して、ActiveStorage を使ってみることにする。

f:id:matt-note:20180925210953p:plain

$ rails new pin_stagram

$ cd pin_stagram

$ rails g scaffold Pin pin:string caption:text

$ rails db:migrate

$ rails active_storage:install

f:id:matt-note:20180925194104p:plain

上記コマンドで db/migrate ディレクトリにマイグレーションファイルが作成されるので、マイグレーションを実行:

$ rails db:migrate

 

 app/models/pin.rb を編集:

f:id:matt-note:20180925205858p:plain

 

app/controllers/pins_controller.rb の  Strong Parameters で :image を許可して、サーバーが画像を POSTリクエストで受け取れるようにする:

f:id:matt-note:20180925210025p:plain

 

app/views/pins/_form.html.erb を編集して、ユーザーが画像を投稿できるようにする:

f:id:matt-note:20180925211502p:plain

 

app/views/pins/show.html.erb を編集して、画像を表示できるようにする:

f:id:matt-note:20180925210220p:plain

 

サーバーを起動して、画像をアップロードしてみる:

f:id:matt-note:20180925210729p:plain

f:id:matt-note:20180925210742p:plain

画像のスタイリングを変更する場合は、以下のようにする:

f:id:matt-note:20180925212221p:plain

f:id:matt-note:20180925212233p:plain

 

mini_magick を使った画像の変換方法はこちら:

Active Storage で mini_magick を使って画像をリサイズしてみる - IT技術にまつわる実験ノート

 

その他の参考:

Active Storage の概要 | Rails ガイド

Active Storageについて

【Rails 5.2】 Active Storageの使い方

ActiveStorageでS3にダイレクトアップロードする - Rails Webook