ruby-on-rails – 从字符串中删除尾部“?”
发布时间:2020-12-17 04:39:11 所属栏目:百科 来源:网络整理
导读:我有这个网址: http://localhost:3000/blog/posts?locale=en 我有一个帮助删除?locale = en url: def url_without_locale_params(url) uri = URI url params = Rack::Utils.parse_query uri.query params.delete 'locale' uri.query = params.to_param ur
我有这个网址:
http://localhost:3000/blog/posts?locale=en 我有一个帮助删除?locale = en url: def url_without_locale_params(url) uri = URI url params = Rack::Utils.parse_query uri.query params.delete 'locale' uri.query = params.to_param uri.to_s end 有了这个助手,我得到了这个网址http:// localhost:3000 / blog / posts?.我想删除尾随? 结果应该是http:// localhost:3000 / blog / posts. 解决方法
到目前为止,答案都是关于字符串本身的.你实际在做的是告诉它它有“params”.如果你把它设为零,如果params.to_param ==“”你就不会有这个问题.
def url_without_locale_params(url) uri = URI url params = Rack::Utils.parse_query uri.query params.delete 'locale' uri.query = params.to_param.blank? ? nil : params.to_param uri.to_s end 这样的事情应该可以解决问题.这样做的原因是,即使有一个空字符串,URI也假设有一些要附加的东西,所以它放置了初始值?上. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |