2010-07-20 5 views
0

J'ai créé un tableau dans mon contrôleur avec les éléments que je souhaite faire pivoter. L'ensemble initial est utilisé en tant que collection partielle et bouclé.Passer une variable via AJAX et Rails

render :partial => "partial", :collection => @array[1..4] 

J'ai aussi un lien link_to_remote sur la page qui fait une requête POST au contrôleur pour modifier la plage de la collection. Je voudrais avoir un compteur incrémental qui est retourné, puis posté à nouveau pour aller de l'avant. Comme ceci:

respond_to do |format| 
    format.js{ 
     @counter += 4 
     render :partial => "partial", :collection => @array[@counter..(@counter + 4)] 
    } 

Merci!

Répondre

1

Vous pourriez faire une fonction javascript à votre avis que lors de la première fois il est appelé (sur le chargement de la page) définit une variable globale à 1. Lorsqu'il est appelé à nouveau, il définit cette variable sur le nombre de l'argument. Dans votre contrôleur, au lieu de rendre le partiel, appelez un fichier .erb.js qui met à jour le contenu du partial_div et appelle cette fonction en définissant la variable sur la nouvelle valeur. Dans votre link_to_remote, ajoutez cette variable en tant que paramètre au contrôleur et supprimez: update => "partial_div"

Questions connexes