dubstep
February 12, 2012, 2:41am
1
I have an active record Times table with a date column and an hour
column. The hours are unique but the dates can have many hours. How
would I create a hash that mapped a date key to its hours? Something
like:
hours_per_date[‘2/14/2012’] => [‘6:00’, ‘8:00’, ‘11:00’, ‘2:00’]
Thanks
Hi!
Take a look at:
and
I think they could help.
E.g:
hash = Time.all.collect { |t| [ t.date , t.hour ] }.group_by {
|date,hour|
date.strftime(“%-m/%-d/%Y”) }
I hope it works.
Regards,
Everaldo
On Sat, Feb 11, 2012 at 11:50 PM, Everaldo G.
[email protected] wrote:
I think they could help.
E.g:
hash = Time.all.collect { |t| [ t.date , t.hour ] }.group_by {
|date,hour| date.strftime(“%-m/%-d/%Y”) }
I forgot that after using group_by you will have to discard the date from
the hash values.
On 13 February 2012 07:00, edward michaels [email protected] wrote:
Thanks, your idea did help.
if I do:
date = <some_date>
reduce = Time.where(:date => date)
I think you might run into trouble using a class Time as this is
already a ruby class.
Colin
Thanks, your idea did help.
if I do:
date = <some_date>
reduce = Time.where(:date => date)
hour_on_date = reduce.collect {|x| x.hour}
Now I just need to figure out how to make <some_date> a hash key which
triggers the hour_on_date array value.