将#符号传递给params hash in rails

时间:2019-03-13 23:08:50

标签: ruby-on-rails ruby postman hashtag

我正在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 "。也就是说,从符号#的第一次出现开始,剩下的字符串就被切掉了。

非常意识到我的问题很幼稚,我敢问为什么?我做错了什么?以及如何管理包含#符号的字符串?

2 个答案:

答案 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

所述