我正在Rails应用程序中处理一些标签处理。
假设我们已经编程了一个端点,该端点通过params
接收包含某些标签的字符串。像这样的人
This string contains this #hashtag and this #one
。
我正在使用邮递员测试端点。
现在,在邮递员中,我会执行以下操作:
{{url}}/add?content=content=This string contains this #hashtag and this #one
我在params
中收到字符串"content"=>"This string contains this "
。也就是说,从符号#
的第一次出现开始,剩下的字符串就被切掉了。
非常意识到我的问题很幼稚,我敢问为什么?我做错了什么?以及如何管理包含#
符号的字符串?
答案 0 :(得分:2)
您需要确保you encode是以参数形式发送的内容。
URI.encode("This string contains this #hashtag and this #one")
#=> This%20string%20contains%20this%20%23hashtag%20and%20this%20%23one
答案 1 :(得分:1)
更新您的邮递员要求,将#
替换为%23
{{url}}/add?content=This string contains this %23hashtag and this %23one
将来,当您执行此类操作时,您可以选择部分参数(或整个对象),然后右键单击并选择EncodeURIComponent
,如here