给出以下网址: http://example.com?arr [] =你好&安培;常用3 [] =至&安培; ARR [] =你
我能否依据以下事实:
params[:arr] == ['hello', 'to', 'you']
我问,因为我有一些额外的数据将与请求一起发送,需要映射到params [:arr]中的每个值。
答案 0 :(得分:2)
是的,他们是。
好吧,也许从解析URL参数的代码中证明是很方便的(我已经从示例中省略了一些代码):
#
# file: ../rack-1.2.1/lib/rack/utils.rb
#
def normalize_params(params, name, v = nil)
# code ommited for simplicity...
if after == ""
params[k] = v
elsif after == "[]"
params[k] ||= []
# HERE IT IS!
params[k] << v
elsif
# code ommited for simplicity...
# ...
end
嗯,您应该自己看一下,但正如您所看到的,关键部分是将值简单地添加到数组中 - 此操作将保持顺序。