hello-world
webエンジニアのメモ。とりあえずやってみる。

[rails]carrierwaveで特定のuploaderだけ別のs3バケットを使いたい場合

公開日時

carrierwaveの保存先にs3を使用する場合、config/initializers/carrierwave.rb にs3の設定を書くと思いますが、 特定のuploaderだけ普段とは別のs3バケットを使いたい場合どうやるのかを調べてみました。

作成したuploader内にfog_directoryメソッドを書くと、そのuploaderのみ別のs3バケットを使用することができます。

# app/uploaders/sample_uploader.rb

def fog_directory
  config = YAML.load_file("#{Rails.root}/config/carrierwave.yml")[Rails.env]
  config['fog_another_directory']
end

参考


Related #carrierwave

[rails]carrierwaveで保存した画像のurlを取得する

carrierwave 0.10.0 で確認 imageカラムにcarrierwaveで保存した画像を保存している場合、デフォルトのままだとだとurlメソッドを実行してもpublic以下のパスのみで http://~ が設定されていません。

[rails]base64エンコードされた画像をcarrierwaveに保存する

Ruby 2.1.4, Rails 4.1.7 で確認 前回はcarrierwaveを使ってPOSTされた画像ファイルの保存を行うAPIを作ってみました。

[Rails]carrierwaveのcallbackをskip

Railsで画像アップロード機能を作る際に欠かせないgemと言えば carrierwave ですが、save時にcarrierwaveのcallbackをskipしたい場合の対応方法をメモしておきます。