Ruby on rails 数组的Ruby散列

Ruby on rails 数组的Ruby散列,ruby-on-rails,ruby,arrays,hash-of-hashes,Ruby On Rails,Ruby,Arrays,Hash Of Hashes,我有一张飞往机场的航班列表。每个航班都有起飞/到达时间。我想将航班列表显示为一个时间轴,左边是起飞,右边是到达,按小时分组,如下所示: Departures | Arrivals Hours 08 - 09 Flight 1, 08:15 | Flight ABC, 08:12 Flight 2, 08:21 | Flight XY, 08:36 Flight 05, 08:49 | Flight ABC, 08:38 Hours 09 - 10 Flight 1, 09

我有一张飞往机场的
航班列表。每个
航班
都有起飞/到达时间。我想将航班列表显示为一个时间轴,左边是起飞,右边是到达,按小时分组,如下所示:

     Departures  | Arrivals

Hours 08 - 09

Flight 1, 08:15  | Flight ABC, 08:12
Flight 2, 08:21  | Flight XY, 08:36
Flight 05, 08:49 | Flight ABC, 08:38

Hours 09 - 10

Flight 1, 09:25  | Flight ABC, 09:55
Flight 2, 09:56  | 

....
@flights= {}

Flight.each do |t|
  @flights[t_time] ||= []
  t_time = t.departure_date.change(min: 0)
  if t.departure
    @flights[t_time][0] << t #departures
  else
    @flights[t_time][1] << t #arrivals
  end
end
我正在创建如下哈希:

     Departures  | Arrivals

Hours 08 - 09

Flight 1, 08:15  | Flight ABC, 08:12
Flight 2, 08:21  | Flight XY, 08:36
Flight 05, 08:49 | Flight ABC, 08:38

Hours 09 - 10

Flight 1, 09:25  | Flight ABC, 09:55
Flight 2, 09:56  | 

....
@flights= {}

Flight.each do |t|
  @flights[t_time] ||= []
  t_time = t.departure_date.change(min: 0)
  if t.departure
    @flights[t_time][0] << t #departures
  else
    @flights[t_time][1] << t #arrivals
  end
end
@flights={}
飞行。每个人都做|
@航班[t|U时间]|=[]
t_时间=t.出发日期变更(最小值:0)
如果我没有离开

@航班[t_time][0]终于找到了答案。首先,我更改了哈希并初始化它:

@global_flights[t_time] ||= {}
@global_flights[t_time][:departures] ||= [] # departures
@global_flights[t_time][:arrivals] ||= [] # arrivals

Flight.t|
t_时间=t.出发日期变更(最小值:0)
如果我没有离开

@全球航班[起飞时间][:起飞]是否有理由不将到达和起飞时间存储在同一航班记录中?它不是同一航班。它们是不同的航班,到达和离开。我只是想根据出发/到达的时间将它们并排展示。我不会撒谎。这看起来会很混乱。但我不知道如何在视图中解析此结构以每次访问,以及之后在两个数组中的每个对象。->再来?我不知道如何从散列中访问个别航班。我得到
未定义的方法[]