Ruby将哈希推送到带有花括号的数组中

时间:2016-09-16 07:21:08

标签: arrays ruby append splat

我正在尝试创建一个参数列表,以便在函数调用中使用。

函数调用如下所示:

Dictionary<string, string> ss 
       = Request.Headers.ToDictionary(a => a.Key, a => string.Join(";", a.Value));

我尝试了以下内容:

render json: @flight, meta: {url: Flight.encrypt(@flight.id.to_s)}

希望使用splat运算符(params = [key1: value1] params.push(key2: value2) )填充参数列表。但是,params看起来如下:

*

非常感谢任何帮助。

修改

我更新了示例代码以添加更多上下文。

函数调用如下所示:

[{key1: value1},{key2: value2}]

我尝试了以下内容:

render json: some_json_value, meta: {some_key:  some_value}

希望使用splat运算符(params = [json: @some_json_value] params.push(meta: {some_key: some_value}) )填充参数列表。但是,params看起来如下:

*

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

您的方法需要哈希(不是哈希数组)。因此,您必须使用哈希来构建参数:

parameters = { :key1 => value1 }
parameters[:key2] = value2

somefunction parameters

答案 1 :(得分:0)

首先想到的是:

[{key1: value1},{key2: value2}].inject(:merge)
#=> {key1: value1, key2: value2}