Rails仅在指定的控制器上强制ssl

我有一个ssl证书,服务于https://secure.mydomain.com 。 我想仅在某些控制器上使用ssl而不是在整个应用程序中使用ssl。 我已经在线查看,似乎无法找到有关如何为指定控制器启用ssl的完整而准确的教程。

我知道我可以使用下面的配置ssl,但它不能为我提供服务,因为它支持ssl网站

config.force_ssl = true 

我如何告诉rails只在特定的控制器上使用ssl而不是我的整个应用程序?

您可以使用routes.rb中的约束来执行此操作:

 resource :account, :constraints => { :protocol => "https", :subdomain => "secure" } 

此外,如果您有许多安全路线,并且想要干涸,可以为您的安全路线创建一个scope

 scope :constraints => { :protocol => "https", :subdomain => "secure" } do ...[secure routes]... end