carrierwaveが標準で出力するパスはこんな感じなのですが
Post.image.url #=> /uploads/post/image...
APIなどを作っているとドメインまで含めたパスを出力したくなります。
そういうときは
/config/initializers/にcarrierwave.rbを作って
CarrierWave.configure do |config|
config.asset_host = "http://localhost:3000"
end
と書いておけばOK
ちなみに今回はURLを定数にしておきたかったので
/config/initializers/に constants.rbを作って
module Constants
if Rails.env == "production"
URL = "https://production.com/"
else
URL = "http://localhost:3000/"
end
end
こうしてみました。
require_relative "constants"
CarrierWave.configure do |config|
config.asset_host = Constants::URL
end