У меня есть следующий массив хэшей:Как отсортировать массив объектов класса на основе даты?
@products = {#<ProductProxy:0xb486d148 @pA={"productAvailableDateTs"=>"2013-12-04T23:07:12.592Z", "mPrice"=>, "pStock"=>, "id"=>, "productId"=>, "productDesignerId"=>}>,
#<ProductProxy:0xb4adf304 @pA={"productAvailableDateTs"=>"2013-1-04T23:07:12.592Z", "mPrice"=>, "pStock"=>, "id"=>, "productId"=>, "productDesignerId"=>}>,
#<ProductProxy:0xb4adecec @pA={"productAvailableDateTs"=>"2013-15-03T23:07:12.592Z", "mPrice"=>, "pStock"=>, "id"=>, "productId"=>, "productDesignerId"=>}>,
...
}
Я хочу, чтобы отсортировать массив на основе productAvailableDateTs
значения, в порядке убывания. Я пытался делать следующее:
@products = @products.sort_by{ |k| -k['productAvailableDateTs'] }
Но делать это так, я не в состоянии получить доступ к productAvailableDateTs
поля. Я попытался напечатать @products[0]['productAvailableDateTs']
. Но он печатает nil
. Как я могу получить доступ к полю правильно?
Это не массив, и он не содержит хешей. –
@SergioTulentsev: Извините за опечатку, я пропустил ','. это действительно массив. Я определил его как @products = Array.new – nish