J'ai une liste de Flights
qui part et à destination de l'aéroport. Chaque flight
a une heure de départ/d'arrivée. Je veux afficher la liste des vols comme un calendrier avec les départs à gauche et arrivées à droite, regroupés par heures, comme ceci:Ruby hash of array
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 |
....
Je crée comme le hachage ceci:
@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
Cela semble fonctionner. Mais je n'ai aucune idée de comment analyser cette structure dans la vue pour accéder à chaque fois, et après que chaque objet dans les deux tableaux. Toute aide serait appréciée.
Y at-il un raison pour laquelle vous ne stockez pas l'heure d'arrivée et de départ dans le même enregistrement d'un vol? –
Ce n'est pas le même vol. Ce sont des vols, des arrivées et des départs différents. Je veux juste les afficher côte à côte, en fonction de l'heure de départ/arrivée. –
Je ne vais pas mentir. Ce serait très déroutant à regarder. –