如何在URL中传递带#的字符串?

时间:2015-03-03 12:16:16

标签: jquery ruby string ruby-on-rails-3

我有一个名字为" k#arn"的用户。在通过网址传递该用户时,它只占用k。

"/users/auto_complete/?user_input=" + "k#arn"

以上代码正在采取" k"作为用户名。有没有办法逃脱#并在网址中传递整个名字(" k#arn")?

1 个答案:

答案 0 :(得分:3)

你应该url_encode那个字符串:

require 'erb'

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

尽可能使用Rails的命名路由,手动构建URL并不是一个好主意。在这个例子中,我希望有一个类似auto_complete_users_path(user_input: 'k#arn')的路由,但这取决于你的用例和路由文件...