2012-09-07 2 views
0

J'ai des problèmes avec une réponse Ajax dans Rails et je ne sais pas comment procéder pour le déboguer.Ruby on Rails - problèmes avec la réponse Ajax

Ce code fonctionne comme prévu:

Voir

<div id="<%= dom_id(comment) %>_count"> 
    <%= Like.where("comment_id = ?", comment.id).count %> 
</div> 

réponse .js.erb

$("#<%= dom_id(@comment) %>_count").html("<%= Like.where('comment_id = ?', @comment.id).count %>"); 

Cependant, si j'ajoute dans un link_to, les arrêts de réponse travail. Toute aide sur ce qui pourrait se passer serait grandement appréciée.

Voir

<div id="<%= dom_id(comment) %>_count"> 
    <%= link_to Like.where("comment_id = ?", comment.id).count, "#" %> 
</div> 

réponse .js.erb

$("#<%= dom_id(@comment) %>_count").html("<%= link_to Like.where('comment_id = ?', @comment.id).count, "#" %>"); 
+1

Pouvez-vous inclure le JS/HTML rendu réel qui revient dans la réponse, plutôt que d'inclure uniquement le modèle de vue? – jefflunt

+0

Ne devriez-vous pas envoyer 'Like.where (" comment_id =? ", Comment.id) .count' en tant que paramètre pour que l'action déclenche cette réponse à la place? – Noz

Répondre

0

Votre appel Like.where(...).count renverra un entier de la méthode .count, qui vous donnera le code HTML:

<a href="/">1</a> 

Ce qui équivaut à http://yoursite.com/ avec l'étiquette visuelle 1. Ce lien pointe vers le chemin racine de votre application.

Est-ce ce que vous avez prévu?

+0

Vous êtes sûr? 'link_to 1, root_path' produit' 1 'pour moi – Noz

+0

Nous vous remercions de votre aide. En fait, dans une tentative de simplifier mon problème, j'ai omis ce qui causait vraiment le problème dans ma description ci-dessus. Cependant, votre réponse m'a aidé à réfléchir à ce que j'essayais vraiment d'accomplir et à regarder la sortie HTML pour déboguer le problème, alors merci pour ça! – diasks2