我有一个名字为" k#arn"的用户。在通过网址传递该用户时,它只占用k。
"/users/auto_complete/?user_input=" + "k#arn"
以上代码正在采取" k"作为用户名。有没有办法逃脱#并在网址中传递整个名字(" k#arn")?
答案 0 :(得分:3)
你应该url_encode
那个字符串:
require 'erb'
ERB::Util.url_encode('k#arn')
#=> "k%23arn"
尽可能使用Rails的命名路由,手动构建URL并不是一个好主意。在这个例子中,我希望有一个类似auto_complete_users_path(user_input: 'k#arn')
的路由,但这取决于你的用例和路由文件...