【问题标题】:implementing http for my payment controller为我的支付控制器实现 http
【发布时间】:2014-04-10 17:38:28
【问题描述】:

我正在使用 rails 3.2,我希望我的付款表单重定向到 https。

我在我的 routes.rb 中尝试了以下方法,但没有成功:

resources :payments, only: [:new, :create], :constraints => { :protocol => "https" }

我收到的错误是:

No route matches [GET] "/payments/new"

我目前正在本地环境中对此进行测试,没有contraints 也可以正常工作

【问题讨论】:

  • 好吧,感谢我忘记了 https 的问题,并将其实施到我的项目中

标签: ruby-on-rails ruby-on-rails-3 ssl https ruby-on-rails-3.2


【解决方案1】:

您希望重定向到 payments/new 路由的 https 版本,而不是对其施加约束。这就是您看到 No route 错误的原因(假设您没有在 localhost 上使用 https)。在here 上阅读关于做你想做的事。这是一个简洁的 Rack 中间件 gem,你可以用它来做重定向:https://github.com/josh/rack-ssl

【讨论】:

  • 感谢链接让我感到困惑的是它说“在幕后,Rails 将很棒的 Rack::SSL Rack 中间件添加到您的应用程序中间件堆栈”所以我认为这意味着它会自动添加它并且不需要宝石。
  • @Aryad 是的,我认为它已包含在内,您只需对其进行配置,以便它知道您只想成为 https 的路由。
  • 是的,只添加 config.force_ssl = true 而不安装任何 gem 似乎将 https 放在所有页面上,现在我需要弄清楚如何为我的路线过滤它
猜你喜欢
  • 1970-01-01
  • 2012-08-27
  • 2014-12-09
  • 2018-02-22
  • 2015-10-07
  • 1970-01-01
  • 2016-08-28
  • 2015-04-17
  • 1970-01-01
相关资源
最近更新 更多