Bu araştırmayı yapmam ve bu tür bir mekanik için bir çözüm bulamadık. Tüm sayfaları normalde Rails'e yüklemek istiyorum, ama ajax isteğinde bulunduğumda sadece sayfayı sayfa düzeni olmadan döndürmek istiyorum. Yani bir ajax requst yaptığım her zaman bir ?page=true
veya bu satırlar boyunca bir şey ekleyebilir ve Rails sadece sayfa düzeni olmadan döndürür.Raylar AJAX talebi sırasında düzeni engeller.
Bu mümkün mü? Bunu kaçırmamın daha iyi bir yolu var mı?
Yardımlarınız için teşekkürler!
Nihai Çözüm Çalışma Kodu: denetleyici olarak
Eğer respond_to
blokta format.html
biraz mantık eklemek yapmanız gereken.
def show
# code beforehand
respond_to do |format|
format.html { render :layout => !request.xhr? }
# other formats
end
end
için show
yöntemde
Ve o kadar! AJAX istekleri sırasında düzenleri önlemek!
Not: Smathy'nin cevabına yaptığı yorum sayesinde bu daha da basitleştirildi. Ben aslında format.html { render :layout => nil if request.xhr? }
vardı Bu çözüm de iyi çalışır, ancak smathy'nin değişiklik daha da basit tutar.
Her ajax isteği için uygulama denetleyicisinde aynı şeyi yapmak mümkün müdür? –
olası bir kopyası [xhrs'a göre bir düzen oluşturma] (http://stackoverflow.com/questions/2444866/never-render-a-layout-in-response-to-xhrs) – fivedigit