2015-03-03 71 views
1

我有一個名爲「k#arn」的用戶。在通過url傳遞該用戶時,它只需要k。如何在#中傳遞字符串#

"https://stackoverflow.com/users/auto_complete/?user_input=" + "k#arn" 

上面的代碼以「k」作爲用戶名。有沒有什麼辦法逃避#並在URL中傳遞全名(「k#arn」)?

回答

3

你應該url_encode該字符串:

require 'erb' 

ERB::Util.url_encode('k#arn') 
#=> "k%23arn" 

這不是一個好主意,手工建立的網址,只要有可能使用Rails的命名路由。在這個例子中,我會預計像auto_complete_users_path(user_input: 'k#arn')這樣的路線,但這取決於您的使用案例和您的路線文件...