2010-08-09 7 views
1

rendre: partiel génère une seule fois sur escape_javascriptrender: partiel ne génère qu'une seule fois sur escape_javascript

par exemple

<script type="text/javascript" charset="utf-8"> 
    $(document).ready(function(){ 
     $("#addPerson").click(function(){ 
      $("#user tr:last ").after("<%= escape_javascript(render :partial => 'user_item', :locals =>{:user_item => User.new}) %>"); 
        return false; 
     }); 

    }); 
</script> 

et j'ai vérifié object_id dans le fichier partiel de user_item il montre même object_id jusqu'à sauver et enregistre uniquement le dernier élément.

<%= user_item.object_id %> 

qui résulte

12354 

chaque fois. S'il vous plaît aidez-moi à résoudre ce problème.

Répondre

1

c'est parce que le partiel est rendu qu'une seule fois.

Le fichier HTML est généré une seule fois. Lorsque vous appelez cette fonction Javascript, elle n'appelle pas le partiel car il est déjà généré.

Si vous voulez une nouvelle génération à chaque fois. Vous devez faire un appel de serveur avec votre user_id et obtenir le HTML en retour.

+0

Vous pouvez envoyer un exemple de code pour l'appel du serveur. Merci pour votre réponse – chandramouli

Questions connexes