У меня есть эта куча коды здесь:рельсов игнорирований добавить в массив
doc.xpath("//script[@type='text/javascript']/text()").each do |text|
if text.content =~ /more_options_on_polling/
price1 = text.to_s.scan(/\"(formatted_total_price)\":\"(.+?)\"/).uniq
description = text.to_s.scan(/\"(ticket_desc)\":\"(.+?)\"/).uniq
price = price1 + description
testing = price1.map{|a| { a[0] => a[1] } }
desc = description.map{|a| { a[0] => a[1] } }
respond_to do |format|
format.json { render :json => {:testing => testing,
:desc => desc }}
end
end
Теперь в ДЕСКЕ, возвращает это:
"desc": [
{
"ticket_desc": "Later Owl Ticket"
},
{
"ticket_desc": "Later Owl Ticket+Collector Ticket @ extra £4.95 per ticket"
},
{
"ticket_desc": "Later Owl + Chance For VIP Upgrade"
},
{
"ticket_desc": "VIP Ticket"
},
{
"ticket_desc": "VIP Ticket + Collector Ticket @ extra £4.95 per ticket"
},
{
"ticket_desc": "Skydeck Package"
},
{
"ticket_desc": "5 Person Skydeck Table"
},
{
"ticket_desc": "7 Person Skydeck Table"
},
{
"ticket_desc": "10 Person Skydeck Table"
}
]
Что им хотят что-нибудь с символом + внутри, чтобы игнорировать. поэтому в идеале ответ будет таким:
"desc": [
{
"ticket_desc": "Later Owl Ticket"
},
{
"ticket_desc": "VIP Ticket"
},
{
"ticket_desc": "Skydeck Package"
},
{
"ticket_desc": "5 Person Skydeck Table"
},
{
"ticket_desc": "7 Person Skydeck Table"
},
{
"ticket_desc": "10 Person Skydeck Table"
}
]
Я в настоящее время делает это с рельсами, но я renderign его в поле зрения с помощью JavaScript/Ajax, поэтому если у вас есть какие-либо идеи, что я могу сделать там пусть я знаю :)
Heres Аякса:
for (var i = 0; i < json.testing.length; i++) {
var section = json.testing[i].formatted_total_price;
var desc = json.desc[i].ticket_desc;
Эй, там! Я получаю 'NoMethodError (неопределенный метод' include? 'Для nil: NilClass): 'было бы это потому, что я положил его внутри каждого –
Извините, я думал, что ваши данные были хешем, но на самом деле массив хэшей. Я обновил свой ответ. – apod
Спасибо! Это сработало в первый раз! –