Rails 获取整个当前 URL,但更改 HTTP 协议



我需要在我的 Rails 视图中创建一个链接,基本上将用户从普通的 http 页面带到同一页面,但使用 https。

我目前有类似的东西

 <a href="https://<%= request.env['HTTP_HOST']%><%= request.path %>">CLICK ME!</a>

然而它:

  • 不包括参数字符串
  • 对我来说只是看起来很黑客

有没有更好的方法将用户从 HTTP 带到具有所有参数的相同相对请求路径?

尝试类似

<%= link_to "CLICK ME!", named_url(protocol: 'https') %>

named_url是通往要链接到的任何内容的路线。

编辑

由于您没有命名路由,只想使用用户所在的任何页面,因此您可以执行以下操作:

<%= link_to "CLICK ME!", "https://#{request.host}#{request.fullpath}" %>

您可以在此处找到有关request对象的更多信息:http://guides.rubyonrails.org/action_controller_overview.html#the-request-object

最新更新