2010-01-28 4 views
0

J'ai un bouton StartMonitor, et après l'utilisateur en appuyant sur ce bouton, je vais commencer à vérifier la mémoire disponible actuelle toutes les 5 minutes. Cela signifie que la vue doit être mise à jour toutes les 5 minutes pour montrer toutes les données obtenues jusqu'à présent. Je peux obtenir les données, mais je n'ai aucune idée de comment mettre à jour la vue. Que recommanderiez-vous? Merci.comment mettre à jour une vue toutes les cinq minutes dans les rails

Répondre

2

Vous devrez interroger activement ceci du client. Une fois la vue rendue, la connexion au client est perdue. Vous ne pouvez pas, du côté serveur, envoyer des informations au navigateur.

Utilisez JavaScript ou un méta-tag avec "recharger" pour recharger la vue toutes les 5 minutes. Par exemple

<meta http-equiv="refresh" content="300;url=/controller/action/id"> 

Si vous rechargez la page entière (soit via JS ou Meta-Tag) et le rechargement ne réussit pas (par exemple erreur de serveur occupé) votre code de recharge n'est plus exécuté, parce que le navigateur affiche maintenant une page d'erreur ne contenant pas votre code de rechargement. Par exemple

Je suggère, mettre à jour un div en utilisant AJAX et gérer l'événement d'erreur vous-même (ignorer, réessayer, informer l'utilisateur.) Tout ce qui correspond à vos besoins). Cela devrait être une solution de rouille.

periodically_call_remote(:url => 'update', :frequency => '300', :update => { :success => "ok", :failure => "error" } 
0

Vous avez fait plusieurs façons de le faire

on est ce que « phisch » est suggéré

et l'autre serait d'utiliser Ajax mis à jour (vous pouvez le faire à l'aide de rails par défaut bibliothèque ajax)

exemple de code

serait,

'message_div',: url => {: action => 'message'},: fréquence => '20' %>

où 'message_div' est la mise à jour div action -> est l'action du contrôleur et la fréquence est la fréquence de mise à jour en quelques secondes

  • note - vous bien inclure la valeur par défaut des rails javascript bibliothèque

espoir cela aide

acclamations, Sameera

Questions connexes