My production asset_host config looks like this:
config.action_controller.asset_host = Proc.new { |source, request| if request.ssl? "#{request.protocol}#{request.host_with_port}" else "#{request.protocol}assets#{(source.length % 4) + 1}.example.com" end }
...which is more or less straight from the docs:
When I go to assets:precompile, I get this:
$ RAILS_ENV=production bundle exec rake assets:precompile rake aborted! This asset host cannot be computed without a request in scope. Remove the second argument to your asset_host Proc if you do not need the request.
....except that I can't really remove the 2nd arg because I need to know if the request is ssl or not. That said, I understand that a request isn't present during the rake task to generate the assets....
So how do I get out of this catch 22?