0
0

More than 1 year has passed since last update.

dockerでActiveStorageを用いてS3に画像をアップロードする方法

Posted at

こんにちは。今回はs3に画像をアップロードし、画像を表示させるのにかなり苦労しましたので次回からは沼らないように自分が成功した方法を備忘録として残しておきます。ここではdockerの構築方法は割愛します。

やりたいこと

ActiveStorageを用いてS3に画像をアップロードし、画像を表示したい。

前提

dockerを用いてアプリを開くことができる。

参考にしたサイト

基本的にはこちらのサイトを参考にして作成した。

つまづいたところ

dockerfile

credentials.yml.encを編集するためにvimで編集する必要があるのですが、自分のdockerでは初期状態ではvimを開くことが出来なかったので

RUN apt-get update
RUN apt-get install vim

としたところエラーが発生。対処としては

RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "vim"]

とすることで無事vimをインストール出来た。

カラムを用意する必要はない

app/models/user.rb
class User < ApplicationRecord
  has_one_attached :avatar
end

ActiveStorageでは、ファイルデータを保存するためにそれぞれのテーブルに個別にカラムを用意しなくても上記の記述を追加するだけでデータの保存ができる。

以上で無事画像を表示することが出来ました。carrierwaveでは画像を表示することが出来なかったので今後はActiveStorageを使っていこう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0