あくまでやむを得ず。やらないに越したことはない。

root_urlなどを普通にControllerやViewで使う分には、ローカルのhttpな環境で開発してようが、本番のhttpsで運用してようが意識しなくても大丈夫。

が、モデルとかで、

 include Rails.application.routes.url_helpers

みたいに書いて無理やり使ってると、常にhttpが返ってきてハマる。というかハマった。

# 引数で指定
root_url(protocol: 'http')

# デフォルトを変更
Rails.application.routes.default_url_options[:protocol] = 'https'

などの対応が必要。