2016-04-10 22 views
0

ile partials Render . Girdiklerinde, otomatik olarak bir kullanıcı modeli oluşturur. Ayrıca, kullanıcı listeye her girişinde kullanıcı listesinin kendisini her ekranda güncellemesini istiyorum.Raylar, merak ediyorum jquery

cevap

0

Kullanıcı her girdiğinde sayfayı yeniden oluşturmak yerine, kullanıcıyı varolan sayfaya eklemek istediğinizi tahmin ediyorum. Yeni girilen kullanıcıyı kullanıcı listesine ekleyerek veya hazırlayarak bunu yapabilirsiniz. 'Kullanıcı listesi' sınıfıyla bir ul etiketiniz olduğunu varsayalım.

$('#fire').click(function(){ 
    $(".user-list").append("<li>" + user-name + "</li>") 
}); 

Bu, yeni kullanıcının nasıl hazırlandığına bağlıdır. Sayfayı güncellemeyi işlemek için bir js işlevi oluşturmak isteyebilirsiniz ve sonra yeni kullanımı işleve iletebilirsiniz. Görünüm ve yeni kullanıcıyı nasıl aldığınız hakkında daha fazla bilgiye ihtiyacım var.

+0

o benim istediğim şey Evet! Ama kullanıcı veritabanında yapılır, bu yüzden _users.html adlı kısmi render yapar ve bu otomatik olarak her kullanıcıya verir. Sayfayı zaten yüklediğimde sorun güncelleniyor. Şu anda, geçici bir çözüm olarak tanımladığınız şeyi yapıyorum ama bu, yaptığım sayfayı güncellediğim anda kaybolduğum anlamına geliyor, çünkü gerçek listeyi almak yerine jquery'de bir liste yapıyorum. – Candielope

+0

Aşağıdaki cevapta olduğu gibi AJAX'ı kullanmanızı önereceğim. Ancak, sayfayı giren yeni kullanıcıların ayrıntılarına nasıl sahip olduğunuz belli değil. Bir kullanıcı modeli otomatik olarak AJAX kullanılarak oluşturulursa, bu kullanıcıyı d/b'ye kaydedebilir ve listeye ekleyebilirsiniz. – margo

+0

Teşekkürler! Daha önce hiç kullanıcı ajax kullanmam, bu yüzden veritabanından nasıl bir şey eklediğimi merak ediyorum. Kullanıcılar veritabanına kaydedilir, buna ihtiyacım yok. – Candielope

1
Eğer UserController bir eylem çağrısı Belki

:

$('#fire').click(function() { 
     $.ajax({ 
     type: "GET", 
     url: "/users", 
     success: function(data) { 
      $("#your-table").html(data); //use .html() if you fecth all list from controller 
      $("#your-table").append(data); //use .append() - that case you must pass, i.e., a param to specify the last page or 
     } 
     }); 
    }); 
+0

Zaman ayırdığınız için teşekkürler! Kodunuz hakkında biraz bilgi verir misiniz? Daha önce hiç Ajax kullanmamıştım! – Candielope

+1

#fire öğesini tıklattığınızda, GET ile/users eylemini çağırır (UsersController'dan dizin eylemi). Bu çağrı tamamlandığında, başarı fonksiyonunu yürütecek (ve arg olarak yanıtınız veridir) –

+0

Teşekkürler çok! Bunu deneyeceğim! :) – Candielope

İlgili konular