2013-10-31 29 views
0

我需要在我的rails視圖中創建一個鏈接,該鏈接基本上將用戶從正常的http頁面轉到同一頁面,但使用https。rails獲取當前的整個url,但更改http協議

我現在有類似

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

但它:

  • 不包括參數字符串
  • 只是看起來砍十歲上下給我

是有更好的方法,使用戶從http到具有所有參數的相同請求路徑?

回答

0

嘗試像

<%= 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

+0

這就是問題所在:我沒有'named_url' - 它應該始終是相同的完整URL(加參數)作爲當前頁面,用戶開啓。 – yee379