gpt4 book ai didi

ruby-on-rails - 在 Ruby on Rails 中增量构建任意 URL

转载 作者:数据小太阳 更新时间:2023-10-29 06:51:53 25 4
gpt4 key购买 nike

我有一个字符串形式的 URL。向其中添加一些参数最简洁的方法是什么?

例如

base = 'http://example.com'
uri1 = some_magical_method(base, :p1 => 'v1') # => http://example.com/?p1=v1
uri2 = some_magical_method(uri1, :p2 => 'v2') # => http://example.com/?p1=v1&p2=v2
uri3 = some_magical_method(uri2, :p3 => nil) # => http://example.com/?p1=v1&p2=v2

1) 在 Ruby 中?

2) 在 Rails 中?

最佳答案

在 Rails 中,ActiveSupport 是可用的,最简单的方法是构造一个散列,然后对其调用 #to_query

>> params = {}
>> params[:foo] = "bar"
>> params[:baz] = "bang"
>> params.to_query
=> "baz=bang&foo=bar"

在普通的 Ruby 中,同样适用,但你需要自己编写编码器:

require 'cgi'
def to_query(hsh)
hsh.map {|k, v| "#{k}=#{CGI::escape v}" }.join("&")
end

params = {}
params[:foo] = "bar"
params[:baz] = "bang"

to_query params
=> "baz=bang&foo=bar"

关于ruby-on-rails - 在 Ruby on Rails 中增量构建任意 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8039735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com