0
0

More than 3 years have passed since last update.

【Ruby on Rails】gem "refile" の画像アップロード先の変更と注意点

Last updated at Posted at 2021-02-07

保存先の変更

GoogleのVisionAIというAPIを用いてアプリケーションへ投稿画像に対する自動タグ付け機能を実装した際に、refileの画像ファイルの保存先を変更する必要があった為、備忘録として本記事を作成。
refileのデフォルトでの画像ファイルの保存先はtmp/uploads/storeになっており、今回はその保存先をpublic/uploadsに変更。

config/initializers階層下にファイルを作成

config/initializers内に新たにrefile.rbファイルを作成し、以下の記述を行う。
これにより、アップロードされた画像の保存先を変更することが可能。

config/initializers/refile.rb
Refile.backends['store'] = Refile::Backend::FileSystem.new('public/uploads/')

既存のデータがあった場合、tmp/uploads/storeからrefile.rbに移す

すでにアップロードされた画像データが存在した場合、上記の手順でファイルの読み込み先を変更した為に、tmp/uploads/store内の既存のデータの読み込みが出来なってしまう。
その場合、既存のデータをpublic/uploadsに移動させることによって、画像ファイルの読み込みが可能となる。
ただしrefileの機能を新たに実装する場合には、こちらの手順は必要ない。

terminal
$ cp tmp/uploads/store/* public/uploads/

cpコマンドを用いて既存のデータをpublic/uploadsにコピーする。
これを開発環境、本番環境共に行う。

記載内容に間違いがあった場合はご指摘頂けると嬉しいです。
ご連絡お待ちしております。

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