En apprenant le rubis sur rails j'ai créé un site de blog. Lorsque l'utilisateur ajoute un message via AJAX, les RJS suivantes est appelée:visual_effect après replace_html ne fonctionne pas dans rjs
page.replace_html 'posts', :partial => @posts
page.visual_effect :Highlight, 'post_' + @post.id.to_s
Cependant, le point culminant ne se produit pas .. ni est une sorte d'effet, même une peau.
Clues:
- Il fonctionne si je fais juste un insert_html pour seulement le nouveau poste (mais je veux de mettre à jour la liste complète des messages à ce moment)
- Si je coder en dur l'id à l'id suivant dans la séquence, cela ne fonctionne pas sur le post, mais cela fonctionne sur le post suivant. {Ex .. hardcode post_100 ... pas fort sur 100 présenter, mettre en évidence 100 sur 101} soumettre
- Alert montre que '' post_ + @ post.id.to_s est ce qui est attendu (post_100, etc.)
Des idées ou des suggestions de débogage?
Merci, Orlando
Après l'ajout d'une publication, inspectez votre page à l'aide de quelque chose comme firebug pour voir le contenu réel de la nouvelle publication div. Je suppose que ce n'est pas post_100 mais quelque chose d'autre. –
Bonne suggestion, mais il apparaît comme souhaité. Il est cohérent entre ce que montre Firebug et ce qu'une alerte affiche: page.replace_html 'messages',: partiel => @posts page.visual_effect: Mettez en surbrillance, 'post_' + @ post.id.to_s page << "alerte ('post_ "+ @ post.id.to_s +"'); " – Orlando
Cette alerte vérifie seulement que id.to_s est "100", pas que le partiel contienne quelque chose avec id = "posts_100". Après avoir récupéré le résultat, $ ('posts_100') dans la console Firebug renvoie-t-il quelque chose? Ou, vous pouvez render_to_string/logger.debug votre partial pour voir s'il contient l'id correct. – wesgarrison