[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