Ruby on rails Rails从数组设置会话变量

Ruby on rails Rails从数组设置会话变量,ruby-on-rails,ruby,arrays,Ruby On Rails,Ruby,Arrays,我从外部来源返回一些结果,其中: session[:response]['cpm_by_volxs'] == [ 0.0416, 0.0411, ..., 0.0335, 0.0333 ] 然后如何将第一个数字0.0416存储为不同的会话变量: session[:somethingElse] = 0.0416 以动态的方式(响应总是不同的) 我试过: temp = session[:response]['cpm_by_volxs'] session[:somethingElse] = t

我从外部来源返回一些结果,其中:

session[:response]['cpm_by_volxs'] == [ 0.0416, 0.0411, ..., 0.0335, 0.0333 ]
然后如何将第一个数字
0.0416
存储为不同的会话变量:

session[:somethingElse] = 0.0416
以动态的方式(响应总是不同的)

我试过:

 temp = session[:response]['cpm_by_volxs']
 session[:somethingElse] = temp[temp.index(1)]
更新

根据Ben Taitelbaum的建议:

<%= session[:Response]['cpm_by_volxs'][0] %> == [
<%= session[:Response]['cpm_by_volxs'][1] %> == 0
<%= session[:Response]['cpm_by_volxs'][2] %> == .
<%= session[:Response]['cpm_by_volxs'][3] %> == 0
<%= session[:Response]['cpm_by_volxs'][4] %> == 4
<%= session[:Response]['cpm_by_volxs'][5] %> == 1
<%= session[:Response]['cpm_by_volxs'][6] %> == 6
==[
== 0
== .
== 0
== 4
== 1
== 6

诸如此类。我可以一次返回这个值吗?(我无法以任何方式更改响应)。

您可以像使用其他语言一样在ruby中索引到一个数组,因此第一个数字就是
会话[:response]['cpm\u by_volxs'][0]
,这与
temp[0]相同在您的例子中, >您的会话变量似乎存储了一个字符串“0.0416,…”,而不是一个数组,这就是为什么对它进行索引不会给您所需的。如果您真的不能改变这一点,那么考虑通过ReGEX将代码>会话[[响应] ] 'CpMyByVxxs' < /COD>解析成一个数组。