我使用的是rails 3.2,我希望我的支付表单重定向到https。
我在routes.rb中尝试了以下操作,但没有成功:
resources :payments, only: [:new, :create], :constraints => { :protocol => "https" }
我收到的错误是:
No route matches [GET] "/payments/new"
我目前正在本地环境中测试它,它在没有contraints
的情况下运行良好
您想要重定向到payments/new
路由的https版本,而不是对其施加约束。这就是为什么您看到No route
错误(假设您在localhost上没有使用https)。在这里阅读你想做的事情。这里有一个整洁的Rack中间件宝石,您可以使用它来进行重定向:https://github.com/josh/rack-ssl