大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Rails中将空格的params替换为”而不是”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
params = {name:’John Key’}
并使用方法to_param:
params.to_param => "name=John+Key"
关键是”使用的服务没有正确读取’并且需要”而是name = John Key:When to encode space to plus (+) or %20?
有没有办法在没有使用gsub的情况下返回params?
虽然您可以通过使用URI.escape来解决问题,但据推测它已被弃用,因为它不完全符合RFC规范. See here对它进行了很好的记录.
Hash#to_param是Hash#to_query的别名,它调用Object#to_query.证明这个问题的最简单的例子是:
'John Key'.to_query(:Name) # => "name=John+Key"
Object#to_query的实现是:
def to_query(key) "#{CGI.escape(key.to_param)}=#{CGI.escape(to_param.to_s)}" end
所以,我们发现:
CGI.escape("John Key") # => "John+Key"
因此,这就是我引用CGI.escape和URI.escape之间差异的原因.
以上是大佬教程为你收集整理的ruby-on-rails – 如何在Rails中将空格的params替换为”而不是”全部内容,希望文章能够帮你解决ruby-on-rails – 如何在Rails中将空格的params替换为”而不是”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。