Ultrakleine Geschichte. Die vom URL-Helfer von Rails generierten URLs basieren auf http.
Rails.application.routes.url_helpers.root_url
=> "http://localhost:3000/"
Sie müssen die Option "Protokoll" angeben, damit sie auf "https" basiert.
Rails.application.routes.url_helpers.root_url(protocol: 'https')
=> "https://localhost:3000/"
Wenn Sie nicht jedes Mal die Option "Protokoll" angeben möchten, können Sie die Standardeinstellung ändern, indem Sie "default_url_options" festlegen.
Rails.application.routes.default_url_options[:protocol] = 'https'
Übrigens wird in den nächsten Rails, wenn "Rails.application.config.force_ssl" "true" ist, der Standard automatisch auf "https" gesetzt. (PR) https://github.com/rails/rails/pull/37480
Es ist nicht mehr üblich, https zu verwenden, daher werde ich jetzt daran erinnert, aber bis die nächsten Rails veröffentlicht werden, ist es eine gute Idee, sie unter "config / initializers" zu schreiben.
config/initializers/protocol_default_to_https.rb
# force_Wenn ssl wahr ist, ändern Sie die URL in https.
if Rails.application.config.force_ssl
Rails.application.routes.default_url_options[:protocol] = 'https'
end
Recommended Posts