Это хеш, над которым я работаю,
a = {
#...
:fares => {
:itinerary_fare => {
:segment_names=>"C",
:free_seats => "6",
:fare_for_one_passenger => {
:free_seats=>"0",
:@currency => "TL",
:@non_refundable => "false",
:@price => "439.0",
:@service_fee => "25.0",
:@tax => "33.0",
:@type => "Y"
},
:@currency => "TL",
:@non_refundable => "false",
:@price => "439.0",
:@service_fee => "25.0",
:@tax => "33.0",
:@type => "C"
},
:@currency => "TL",
:@tax => "33.0"
},
#..
}
также здесь другой пример http://pastebin.com/ukTu8GaG.
Код, вызывающий у меня головную боль,
a[:fares][:itinerary_fare].each do |f|
puts f[:@price]
end
Если я напишу это в консоль, появится ошибка "невозможно преобразовать символ в целое число". Но если я напишу a[:fares][:itinerary_fare][:@price]
, все будет работать нормально.
Самое странное, что если я пишу код в haml-файл,
%tbody
-@flights.each do |a|
%tr.flight
%td
-a[:fares][:itinerary_fare].each do |f|
-puts f[:@price] #Weird stuff happens here
.prices
%input{:type=>"radio",:name=>"selectedfight",:value=>"#{a[:id]}"}
= f[:@price]
%br
он работает, он выводит цены на мою консоль, но не работает в ТОЙ ЖЕ СТРОКЕ.
can't convert Symbol into Integer file: flights.haml location: [] line: 18
Это самая неприятная ошибка, которую я когда-либо видел, спасибо за любую помощь.
В большинстве случаев их больше 1 :itinerary_fare
, мне приходится повторять.
Мои данные можно показать как http://postimage.org/image/6nnbk9l35/