2010-01-19 2 views
6

Je suis un débutant dans Ruby On Rails, Quelqu'un peut-il me dire comment rafraîchir une page.Auto Actualiser une page dans Ruby on Rails

  1. Sans valeurs soumises
  2. Avec des valeurs antérieures soumises
+1

Lorsque vous dites "actualiser", voulez-vous dire que la page se rafraîchira automatiquement toutes les "n" minutes, ou existe-t-il un contrôle (par exemple, un bouton) que l'utilisateur activera pour actualiser la page? – BryanH

+0

il sera automatiquement actualisé – markiv

Répondre

7

ActionView::Helpers::PrototypeHelper#periodically_call_remote:

  1. Sans valeurs soumises

    <%= periodically_call_remote(:url => {}) %> 
    
  2. Avec des valeurs précédentes soumis à nouveau:

    <%= periodically_call_remote(:url => params) %> 
    

Vous pouvez fournir une: option de fréquence pour spécifier la fréquence de l'appeler.

Vous pouvez également configurer le bloc format.js dans le contrôleur pour afficher un modèle RJS qui ne mettra à jour que les éléments susceptibles de changer.

Edit: Cette approche a été dépréciée avec la version Rails 3.0

Cette question (Rails 3 equivalent for periodically_call_remote) fournit une méthode pour y parvenir dans les versions les plus récentes de Ruby on Rails.

+0

Votre lien semble être cassé. – Bach

+0

Non cassé, juste obsolète. J'ai mis à jour le lien pour pointer vers la documentation de la dernière version des rails cela a été supporté, j'ai aussi ajouté un lien pour répondre qui fournit une méthode pour accomplir cela dans les nouvelles versions de Rails. – EmFi

0

Vous pouvez également utiliser le script ci-dessous pour auto rafraîchir une page complète ...

setTimeout ("location.reload();", 10000);
+0

script language = "javascript" type = "texte/javascript – abcreddy