1

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")HTTPS URL ではなく HTTP URL を返すことです。

1 つの解決策を見つけまし redirect_to new_subject_reviews_url(:format => "js", :protoco => "https://")たが、これには Rails アプリでメソッドを編集する必要があります。Railsを大幅にハッキングせずに、Railsアプリケーション内でこれをグローバルに修正するにはどうすればよいですか?

4

1 に答える 1

1

理由はわかりませんでしたが、解決策を見つけました。

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
于 2012-07-06T17:20:06.093 に答える