The answer is so mind-numbingly simple I can't believe I didn't think to try it earlier.
Carrierwave Example:
# It was this before
def store_dir
"assets/photos#{ '/testing' if Rails.env.test? }"
end
# Now it's this
def store_dir
"for/photos#{ '/testing' if Rails.env.test? }"
end
i.e., folder layout is as such:
..app/
../public
../assets # Contains only precompiled assets
../for # Contains only model instance assets
Regular precompiled assets resolve to http://mydomain.com/assets/*
and instance assets resolve to http://mydomain.com/for/*
. Specifically, I have a subdomain pointing to my assets called http://assets.mydomain.com
, so for example it resolves to http://assets.mydomain.com/for/wines/some-asset.jpg
.
This solves the issue of rake assets:clean
because the /for
directory is never touched. No need to explicitly host assets offsite.
Now as to whether or not I need to specify something else in production so the assets are actually served, I don't know - but at least in development this is working.