charge partielle avec jquery et les rails
Im curieux de savoir quelle est la meilleure façon de charger un rails partielle avec jquery. Jusqu'à présent j'ai essayé une solution ne fonctionne pas:
$('#imagecontent').load('/newsletters/_image_gallery.html.erb', function() {
alert('Load was performed.');
});
Est la meilleure solution pour construire une action séparée et/ou de la manette pour mettre cette voie? Im demandant parce que faire la première solution semble plus facile, peut-être pas si reposant.
Grâce.
juste une remarque, vous ne pouvez pas utiliser .html() pour charger vous êtes partiels. Même si vous êtes à l'appeler avec code ruby. C'est parce qu'il rend l'ensemble du formulaire entre guillemets et salit tout. Je vous suggère une autre façon, si je le savais, même si c'est ce que je suis à la recherche pour moi en atm.
OriginalL'auteur Christian | 2010-02-09
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas être en mesure d'accéder à des fichiers de Modèle (.erb) à partir de requêtes HTTP, c'est une très mauvaise pratique. Je vous suggère de les mettre à l'extérieur de vos serveurs web et de chemin d'accès uniquement par le biais de votre application.
Je ne suis pas sûr sur les Rails, mais je suppose que vous avez besoin pour créer un contrôleur séparé (ou autre) pour ce faire.
MODIFIER c'est parce que .erb fichiers sont Intégrés Ruby, et si vous essayez de faire la demande, vous obtiendrez toutes les données indésirables, comme
<%= page_title %>
, que vous ne voulez pas afficher les utilisateurs. Par conséquent, vous devez transmettre ces .cre des fichiers par le biais de votre application Rails, de sorte qu'ils sont correctement interprété en HTML.OriginalL'auteur Luca Matteis
La raison que le code ne fonctionne pas, c'est que les rails ne pas exposer les fichiers de vue à l'extérieur. Pour obtenir la chose que vous voulez, vous aurez besoin d'une action qui rendrait cette partielle:
Il y a aussi un plugin appelé jRails qui remplace la norme ajax aides (qui utilisent prototype) avec l'équivalent de jquery. Dans votre cas, vous devrez utiliser quelque chose comme
Et même plus, dans Rails 3, vous n'en aurez pas besoin. Voir ce lien.
OriginalL'auteur alex.zherdev
Voici ce que vous voulez:
http://www.slideshare.net/JamesEdwardGrayII/ajax-with-jquery-in-rails
OriginalL'auteur volante
Une autre alternative:
OriginalL'auteur Dario Barrionuevo
Avec rails 3, vous pourriez faire...
contrôleur
vue (haml.erb(html.erb) ou js.erb
Vous pouvez essayer ce si les rails 2 (seul prototype disponible, sauf noConflict ajouté)...
Dans le contrôleur
Appelez votre js
Votre fonction...
Je suis d'accord avec neutrinos que cela pourrait être mieux traitées par l'intermédiaire d'une action.
Espère que cette aide
OriginalL'auteur Dan