Rails从数组中设置会话var

时间:2012-07-04 09:40:35

标签: ruby-on-rails ruby arrays

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

session[:response]['cpm_by_volxs'] == [ 0.0416, 0.0411, ..., 0.0335, 0.0333 ]

然后我怎么才能将第一个数字0.0416存储为另一个会话var:

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

等。我怎么能一次归还这个? (我无法以任何方式更改响应。)

1 个答案:

答案 0 :(得分:1)

您可以像使用其他语言一样索引到ruby中的数组,因此第一个数字只是session[:response]['cpm_by_volxs'][0],与示例中的temp[0]相同。