在rails 4路线中强制执行https的正确方法是什么?
例如,我希望能够做到这样的事情:
get 'success' => 'ssl#success', :ssl_only => true
但这没有任何作用。
答案 0 :(得分:4)
您可以使用force_ssl
强制http://site/success
重定向到https://site/success
。请参阅force_ssl的文档。
class SSLController < ApplicationController
force_ssl only: :success # see docs for more options
end
答案 1 :(得分:0)
如果你想要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' }
答案 2 :(得分:0)
我最终得到了这个:
get 'success', to: 'ssl#success', constraints: {protocol: /https/}
答案 3 :(得分:0)
在我的情况下,它通过在application_controller.rb中添加“force_ssl”来实现。