在rails 4路由中強制https的正確方法是什麼?強制https在Rails 4路由
比如我希望能夠做一些事情,如:
get 'success' => 'ssl#success', :ssl_only => true
但是,這並不做任何事情。
在rails 4路由中強制https的正確方法是什麼?強制https在Rails 4路由
比如我希望能夠做一些事情,如:
get 'success' => 'ssl#success', :ssl_only => true
但是,這並不做任何事情。
您可以使用force_ssl
強制http://site/success
重定向到https://site/success
。請參閱force_ssl的文檔。
class SSLController < ApplicationController
force_ssl only: :success # see docs for more options
end
如果你想https://.../ssl/success
scope constraints: { protocol: 'https' } do
get 'success', to: 'ssl#success', as: 'success'
end
或
get 'success', to: 'ssl#success', as: 'success', constraints: { protocol: 'https' }
不,我希望https://mysite.com/success轉到ssl#成功。這個答案不適合我。 – pguardiario
對不起,我沒有得到是你的控制器?成功就是你的行動? –
是的,沒錯。 – pguardiario
我最終得到了這一起工作:
get 'success', to: 'ssl#success', constraints: {protocol: /https/}
希望它和我的帖子一樣... excpt'https'to/https/ –
我知道,這是一件小事。我的直覺是協議實際上是'https://'或什麼的,這就是正則表達式工作的原因,但不是字符串。 – pguardiario
你應該接受Rajarshi的回答然後... – frandroid
對我來說,它的工作由application_controller.rb加入 「force_ssl」。
是的,我知道那個,似乎應該有一個軌道4技巧來強制它在路線中。 – pguardiario
我不太明白。你想達到什麼目的? –
類似@ Rajarshi的解決方案,但他不適合我。 – pguardiario