Ruby on rails 3.1 Rails在数组中的ActiveRecord对象中获取数据

Ruby on rails 3.1 Rails在数组中的ActiveRecord对象中获取数据,ruby-on-rails-3.1,Ruby On Rails 3.1,好吧,我知道这个标题很复杂,但情况如下: 我有一个查询(failed_by_apps=Search.failed_by_app)返回如下内容: s.each_with_index { |item, i| puts "index: #{i} item: #{item}" } index: 0 item: #<Search:0x007faf858da068> index: 1 item: #<Search:0x007faf858d9cd0> index: 2 item: #&

好吧,我知道这个标题很复杂,但情况如下:

我有一个查询(
failed_by_apps=Search.failed_by_app
)返回如下内容:

s.each_with_index { |item, i| puts "index: #{i} item: #{item}" }
index: 0 item: #<Search:0x007faf858da068>
index: 1 item: #<Search:0x007faf858d9cd0>
index: 2 item: #<Search:0x007faf858d9960>
index: 3 item: #<Search:0x007faf858d95a0>
s.each { |item| puts "#{item.app}: #{item.appFailed}"  }
book: 23885
dvd: 9563
cd: 4850
game: 629
i = 0
appTotals.each do |app| 
    @appHash[app.app] =  {"appTotal" => app.appTotal, "percent" => failed_by_apps[i].appFailed }   
    i += 1  
end
当我尝试获取appFailed的值时,问题出现了,没有执行.each循环。看,我还有一段代码,我想把来自不同查询的信息放在一个散列中,看起来像这样:

s.each_with_index { |item, i| puts "index: #{i} item: #{item}" }
index: 0 item: #<Search:0x007faf858da068>
index: 1 item: #<Search:0x007faf858d9cd0>
index: 2 item: #<Search:0x007faf858d9960>
index: 3 item: #<Search:0x007faf858d95a0>
s.each { |item| puts "#{item.app}: #{item.appFailed}"  }
book: 23885
dvd: 9563
cd: 4850
game: 629
i = 0
appTotals.each do |app| 
    @appHash[app.app] =  {"appTotal" => app.appTotal, "percent" => failed_by_apps[i].appFailed }   
    i += 1  
end
这是可行的,但我想肯定有更好(更优雅)的方法来做这件事。不

编辑:
请忽略前面关于数学的问题,我只是想找出一种更好的方法来获取failed_by_apps[x]中的值。appFailed

我仍然有点困惑,不知道您到底想要什么,但希望我们能够逐步完善。这是一个起点吗

failed_by_apps.map(&:appFailed)
# => [23885, 9563, 4850, 629]

我有点迷路了。什么是appTotals?它与应用程序的失败有什么关系?你最终想要实现什么-用。。。什么?对不起,我的水晶球今天有点阴暗,谁又是appTotals?它与因某些原因而失败的应用程序有什么关系?那么,你想(用语言)实现什么呢?可能和感兴趣?appTotals是什么并不重要(它是在第二段代码中吐出的所有数字的总和)。我想弄清楚的是如何更好地访问数组中的值。我已经算出了数学位,所以请忽略它。因此,
apps
包含一组数据库记录,每个记录都包含
app
(字符串)和
appFailed
(整数);您希望为每个条目获取
appFailed
。。。不使用
每个
i
索引?是否要将
appFailed
值填充到其他内容中?“我认为我们已经接近能够提供帮助了,但事情还是有点模糊。”乔利特说得对。正是我想要的。就像我上面说的,它是这样工作的,但我认为有更好的方法来实现它不?