2016-03-28 18 views
0

jQuery-ui'nin otomatik tamamlama özelliğini bir arama formunda kullanıyorum.Üretimde geliştirdiğim aynı JSON yanıtını nasıl alabilirim?

tepki öylesine benziyor:

[{ "id": gelişmede isteği JSON yanıtını verir benim indeks sayfasını vurur 0, "listing_id": 0, "category_id": 0, "title": "Natural Woven Linen Ring Sling", "description": "Bu doğal dokuma keten sapan, sizin ve bebeğinizin her türlü ikliminde rahat kalmasını sağlamak için mükemmel bir . Hafif konfor ile, size ve çocuğunuza uygun olacaktır. u0026 # 39; gövdesi ve zamanla daha yumuşak olur. \ nSeller bebeğinizi yakın tutmaya ve ellerinizi serbest bırakmanın harika bir yoludur. \ nBebekünüzün Cildin cilde temasını ve ebeveynlerle ve bakıcılar ile yakınlığını teşvik etmek. Bebek askıları, bebeği güvenli ve güvenli hissettirerek, rahim ortamını taklit eder. Baby \ u0026 # 39'un ihtiyaçları, daha az ağlamak anlamına gelen tutulduğunda kolaylıkla karşılanabilir. Bebek askıları nerede olursanız olun gizli emzirme için mükemmeldir. \ nBu sapan, 7-12 Pound arasında bebekler için uygundur. \ nEğer bebeğinizi giyerken dikkatli olun. \ n Bebeğinizi \ u0026 # 39; yüzünü herkesin gözünde kez görünür halde tutun. \ n bebeği takmadan önce sapan. \ n Bebeğinizi giyerken, gibi güvenli olmayan aktivitelerden kaçının: \ nSigara içme, sıcak içecekler, koşu, egzersiz, yemek pişirme veya içme alkol. "," price ":" 65.00 "," currency_code ":" CAD "," miktar ": 1," etiketler ": [" sling halkalar "," ring sling "," yürümeye başlayan çocuk "," yenidoğan "," doğal keten "," dokuma wrap " , "bebek taşıyıcı", "dokuma sapan", "bebek bezi", "bebek sarma", "bebek sapan"], "category_path": ["Çantalar bir 12 Çantalar "]," taxonomy_path ": [" Aksesuarlar "," Bebek Aksesuarları "," Bebek Taşıyıcılar \ u0026 Sarar "]," malzemeler ": [" alüminyum yüzükler "," avrupa keten "," pamuk tel "]," feature_rank ": null," url ":" https://www.etsy.com/listing/272579256/natural-woven-linen-ring-sling?utm_source=etsyinventorymerger \ u0026utm_medium = api \ u0026utm_campaign = api "," görüntüleme ": 19," num_favorers ": 0," shipping_template_id ": 6281647," shipping_profile_id ": null," ":" https://img1.etsystatic.com/135/0/6276910/il_170x135.987731269_rwab.jpg "," https://img1.etsystatic.com/139/0/6276910/il_170x135.987731277_1q29.jpg "," https://img1.etsystatic.com/140/0/6276910/il_170x135.987731279_q5lv.jpg "]," created_at ":" 2016-03-28T20: 01: 41.722Z "," updated_at ":" 2016-03-28T20: 04: 52.721Z " }, {"id": 18, "listing_id": 269532744, "category_id": 269532744, "title": "Woven Pamuk Kaprisli Dalgalar Halka Sling", "description": "Bu sling hafif ancak sağlam ve üretilmiştir % 100 pamuktan. Kollarınızı rahatça taşımak için omuz dikilir ve eşit ağırlık dağılımı eşit olarak dağıtılır. Herhangi bir iklim için harika ve herhangi bir kıyafet için mükemmel. \ n \ nSatışlar bebeğinizi ve ellerinizi ücretsiz tutmanız için mükemmel bir yoldur. \ NBebekünüzü cilt üzerinde cildi teşvik ederek yapışmayı artırır ebeveynler ve bakıcılarla iletişim ve yakınlık. Bebek askıları, bebeğin kendini güvende hissetmesini sağlamak için rahim ortamını taklit eder. Baby \ u0026'nin ihtiyaçları, yakın tutulduğunda kolaylıkla karşılanabilir, bu da daha az ağlama anlamına gelir. Bebek askıları, nerede olursanız olun, numaralı telefondan bağımsız emzirme için mükemmeldir. \ nBu sling, 7-35 Pound arasındaki bebekler için uygundur. \ nBebekinizi kullanırken dikkatli olun. \ n bebeğin \ u0026's yüzünü her zaman görünebilir tutun. \ n ürününü takarak pratik yapın bebeği içeri sokmadan önce sapan.\ NSmoking, sıcak içecekler içme çalışan, egzersiz, yemek pişirme ya alkol, "" fiyatı: gibi Bebeğinizi, giyerken \ N herhangi güvensiz faaliyetlerden kaçınılmalıdır. ":" 65.00" , 'para birimi ayarlarına':" CAD "," miktar ": 1," etiketler ": [" yeni anne hediye "," bebek duş hediye "," yenidoğan askı "," bebek sarma "," halka askısı kuyruk "," dokuma pamuklu sapan ", "dokuma halka sapan", "bebek taşıyıcı", "halka sapan", "Kanada yapımı"], "category_path": ["Çantalar ve Çantalar"], "taxonomy_path": ["Aksesuarlar", "Bebek Aksesuarları", " Taşıyıcılar \ u0026 Sargılar"], "malzemeler": ["pamuk", "alüminyum yüzükler", "pamuk iplik"], "öne çıkanlar_deri": 1, "url": "https://www.etsy.com/listing/269532744/woven-cotton-whimsical-waves-ring-sling?utm_source=etsyinventorymerger \ u0026utm_medium = api \ u0026utm_campaign = aPI " "Gösterim": 42, "num_favorers": 3," shipping_te mplate_id ": 6281647," shipping_profile_id ": null," images ": [" https://img1.etsystatic.com/115/0/6276910/il_170x135.927557949_lp3o.jpg "," https://img1.etsystatic.com/113/0/6276910/il_170x135.927557945_8km2.jpg "," https://img1.etsystatic.com/117/0/6276910/il_170x135.927557953_nyef.jpg "," https://img0.etsystatic.com/112/0/6276910/il_170x135.927814742_9wo0.jpg "," https://img1.etsystatic.com/127/0/6276910/il_170x135.927557973_223q.jpg "]," created_at ":" 2016-03-28T20: 01: 45.104Z", "updated_at": "2016-03-28T20: 04: My komut dönüşünü alır

def index 
    respond_to do |format| 
    format.html 
    format.json do 
     @etsy_products = EtsyProduct.search(params[:term]) 
     render json: @etsy_products, status: :ok, message: 'Success' 
    end 
    end 

sonu: 56.129Z"}]

Bu benim denetleyicisi olan uygun şekilde yanıtlar ve biçimlendirir:

$ -> 
    $('#etsy_products_search').autocomplete(
    minLength: 0 
    source: '/' 
    focus: (event, ui) -> 
     $('#etsy_products_search').val ui.item.title 
     false 
    select: (event, ui) -> 
     $('#etsy_products_search').val ui.item.title 
     $('#etsy_products_search-description').html ui.item.description 
     false 
).autocomplete('instance')._renderItem = (ul, item) -> 
    $('<li>') 
     .attr({'title': item.description, 'data-toggle': 'tooltip', 'data-thumbnail': item.images[0], 'data-etsy-url': item.url}) 
     .append(item.title).appendTo ul 

Benim geliştirme günlüğü bunu gösterir:

Started GET "/?term=woven" for ::1 at 2016-03-28 17:16:49 -0400 
Processing by HomeController#index as JSON 
    Parameters: {"term"=>"woven"} 
    EtsyProduct Load (0.8ms) SELECT "etsy_products".* FROM "etsy_products" WHERE (title ILIKE '%woven%') 
Completed 200 OK in 18ms (Views: 13.6ms | ActiveRecord: 2.5ms) 

Ben app tarafından dağıtılan, daha sonra üretimde test edilmiştir. JSON yanıtı boştur ve benim Üretim günlük öylesine benziyor:

I, [2016-03-28T17:19:13.552941 #25285] INFO -- : Started GET "/?term=woven" for (ip) at 2016-03-28 17:19:13 -0400 
I, [2016-03-28T17:19:13.558963 #25285] INFO -- : Processing by HomeController#index as JSON 
I, [2016-03-28T17:19:13.559220 #25285] INFO -- : Parameters: {"term"=>"woven"} 
D, [2016-03-28T17:19:13.565312 #25285] DEBUG -- : EtsyProduct Load (1.0ms) SELECT "etsy_products".* FROM "etsy_products" WHERE (title ILIKE '%woven%') 
I, [2016-03-28T17:19:13.566088 #25285] INFO -- : Completed 200 OK in 7ms (Views: 2.0ms | ActiveRecord: 1.0ms) 

Ben Üretim sunucusunda konsola gider ve tüm girdileri olması gerektiği gibi döndüren benim arama komut dosyasını çalıştırın. Sorun, cevabın talebe geri döndüğü zaman görünüyor. Geriye boş geliyor. Eminim gözden kaçırdığım aptalca bir şeydir, ancak Google'da doğru cevabı bulamıyorum veya (daha büyük olasılıkla) yanlış soruyu soruyorum.

cevap

0

Tamamen yanlış yolda olduğumu ortaya çıktı. Sorun cevap ile değildi, ama aslında veritabanı ile. Veritabanının kayıtları olduğundan emin olmak için kontrol ettiğimde, üretim sunucusunda standart "raylar" yöntemini yapıyordum. Bir API'dan kayıtları toplamak ve bunları veritabanına yazmak için bir komisyon görevi kullanıyorum. Öyleyse, kısa öykü, komisyon görevi aslında benim sunucumdaki ve üretimde olmayan bir geliştirme veritabanına yazıyordu. "Raylar c" koştuğumda, bu veritabanına ve üretim veritabanına erişmeme izin veriyordu. Urgh! Hala öğrenecek çok şey var. İnşallah bu, benim yaptığım gibi duvarlanmış olması durumunda gelecekte yeni bir yeniye yardım edecek.

İlgili konular