如果你不想依賴分叉插件,你可以覆蓋ssl_allowed?在你的控制器:
class ApplicationController < ActionController::Base
...
private
def ssl_allowed?
true
end
end
編輯:這並不不做什麼我想它做。而不是爲未指定ssl_required的頁面禁用重定向到http,而是縮短整個重定向過程而不做任何事情。這真是太糟了。代碼:
def ensure_proper_protocol
return true if ssl_allowed?
if ssl_required? && !request.ssl?
redirect_to "https://" + request.host + request.request_uri
flash.keep
return false
elsif request.ssl? && !ssl_required?
redirect_to "http://" + request.host + request.request_uri
flash.keep
return false
end
end
添加ssl_allowed?像這樣的方法只能是答案,如果代碼,而不是閱讀:
def ensure_proper_protocol
if ssl_required? && !request.ssl?
redirect_to "https://" + request.host + request.request_uri
flash.keep
return false
elsif request.ssl? && !ssl_required? && !ssl_allowed?
redirect_to "http://" + request.host + request.request_uri
flash.keep
return false
end
end
看看:http://blog.documentcloud.org/blog/2011/02/https-by-default/希望它有用 – apneadiving 2011-02-10 19:14:10