Donc, je suis tombé sur un problème très intéressant en jouant avec le téléchargement de fichiers à distance avec Remotipart. J'ai essayé les deux versions suivantes dans mon update.js.erb
vue, que le serveur envoie après un chargement de fichier réussi:Javascript et Remotipart - Pourquoi les guillemets simples et les guillemets sont-ils importants?
<%= remotipart_response do %>
$("#container").html('<p>Success!</p><%= link_to('Back', gallery_items_path, :remote => true) %>');
<% end %>
et
<%= remotipart_response do %>
$("#container").html("<p>Success!</p><%= link_to('Back', gallery_items_path, :remote => true) %>");
<% end %>
Version on change avec succès le balisage dans #container
, et la version deux échoue sans aucune erreur, côté serveur ou client. Je pensais que les guillemets simples et doubles ne sont un problème que lorsque JSON est en jeu, mais il semble que j'avais tort. J'ai également remarqué que le Remotipart example utilise des guillemets simples exclusivement, et je ne suis pas sûr que ce soit intentionnel ou non.
J'utilise Rails 3.2.1, 1.0.2 Remotipart et (ne sais pas si cette question est importante) Chrome 17.
Est-ce que quelqu'un sait ce qui cause cela?
EDIT: En réponse à la question d'Alex:
Dans le premier cas, la sortie rendue est, comme prévu:
<div id="container">
<p>Success!</p>
<a href="/gallery_items" data-remote="true">Back</a>
</div>
Dans le second cas, comme je l'ai dit, il n'y avait pas de changement dans le contenu de <div id="container">
.
Quelle est la sortie rendue? –
@AlexK., J'ai mis à jour le poste. – Andrey