为什么redirect_to _path提供HTTP而不是HTTPS网址

why does redirect_to _path provide a HTTP rather than HTTPS url?

本文关键字:HTTPS 网址 提供 redirect to path 为什么 HTTP      更新时间:2023-09-26

在 Rails 3.0 应用程序中,我有一个控制器,其中包含许多像这样的方法,

class ReviewsController
  # POST "/reviews/new_submit_form"
  def new_submit_for
    # some logic
    redirect_to new_subject_reviews_url(:format => "js")
  end
end
** terminal output **  
Started POST "/reviews/new_submit_form" for 127.0.0.1 at 2012-07-06 11:40:00 -0400
Processing by ReviewsController#new_submit_form as 
Parameters: {"question_sheet_id"=>"23"}
Existing local CAS session detected for "MYNAME@GMAIL.COM". Previous ticket "XX-1111-CjtSMaVpmiqBPsBoufke-plidma41" will be re-used.
Redirected to http://website.org/reviews/new_subject.js
Completed 302 Found in 1ms

问题是redirect_to new_subject_reviews_url(:format => "js")返回HTTP网址而不是HTTPS网址。

我找到了一个解决方案, redirect_to new_subject_reviews_url(:format => "js", :protoco => "https://"),但这需要我通过 Rails 应用程序编辑该方法。如何在我的 Rails 应用程序中全局解决此问题,而无需主要入侵 Rails?

我没有

找出原因,但我找到了解决方案。

Ccc360::Application.configure do
   # all the other configs
   # so that redirect_to will have, "https://www.mywebsite.org/xxxxxx"
  config.action_controller.default_url_options = { :protocol => "https" } 
end