超小ネタ。
RailsのURLヘルパーで生成されるURLは http
ベースになってしまします。
Rails.application.routes.url_helpers.root_url
=> "http://localhost:3000/"
これを https
ベースにするには protocol
オプションの指定が必要になります。
Rails.application.routes.url_helpers.root_url(protocol: 'https')
=> "https://localhost:3000/"
毎回 protocol
オプションを指定するのが面倒であれば、 default_url_options
を設定することでデフォルトを変更できます。
Rails.application.routes.default_url_options[:protocol] = 'https'
ちなみに次期Railsでは Rails.application.config.force_ssl
が true
の場合は自動でデフォルトが https
になるようになりました。
(PR) https://github.com/rails/rails/pull/37480
もはやhttps化は常識ですので今更感はありますが、次期Railsがリリースされるまでは config/initializers
以下に書いておくと良いでしょう。
config/initializers/protocol_default_to_https.rb
# force_ssl が true なら URL を https にする。
if Rails.application.config.force_ssl
Rails.application.routes.default_url_options[:protocol] = 'https'
end