jQuery, c'est fait pour faire du "unobstrusive" (tes scripts se font à part
de la page et s'immiscent dans ta page toute propre en HTML qui ne contient
que du contenu, des liens et des formulaires), ce qui est mieux que
prototype / scriptaculous (slash, dot, end of line, end of argument, die die
foul troll), alors que Rails a plutôt dans ses gênes l'idée que écrire du
JavaScript c'est chiant (ce qui n'est pas vrai), ce qui explique qu'il
essaye de l'abstraire avec du code Ruby tout le temps.
Là où avec Rails tu feras link_to_remote et remote_form_for, mais quand tu
vas vouloir ajouter du JavaScript tu vas devoir jongler avec un medley code
Ruby / code JS, en jQuery tu fais juste des link_to et des form_for, et tu
vas faire des fichiers .js qui vont ajouter les comportements amusants du
style :
$(document).ready(function() {
$('a.my_little_linkey').click(function(event) { // par défaut, on cherche
par sélecteur CSS, par défaut on applique les modifications à tous les
éléments trouvés
event.preventDefault(); // pour éviter les requêtes en double
this.parent('div').load(this.attr('href')); // requête AJAX sur la cible du
lien clické qui va remplir la première div parent du lien clické avec ce qui
est reçu, admirer la concision et l'élégance
});
$('#my_little_formey').submit(function(event) { // a noter, s'il n'y a pas
de mr. #mylittleformey, pas de problème, pas de risque de briser la chaîne
d'exécution du script
event.preventDefault();
$.post(this.attr('action'), this.serialize(), function(data) { /* ... */ },
"json") // envoie une requête post au serveur à la bonne adresse avec les
données du formulaire écrites proprement, exécute un callback à l'arrivée en
lisant la réponse en JSON
});
$('.hidden_control_when_js_is_enabled').hide(); // pour cacher des contrôles
disgracieux quand on peut faire les choses mieux en JS
/* ... */
});
Et plein d'autres merveilles.
Michel Belleville
2009/6/14 Gregoire LEJEUNE <[email protected]>
>
> Cappuccino
>
> Le 14 juin 2009 21:10, philippe lachaise<[email protected]> a
> écrit :
> > Si tu t'arranges pour qu'ils ne se disputent pas l'usage du $ il peuvent
> en
> > principe cohabiter.
> >
> > Ceci, dit trimballer plusieurs libs dans la même appli je le sens mal aui
> > niveau maintenance du code :-/
> >
> > --
> > IciMarché fédère l'e-commerce de proximité
> > http://icimarche.fr
> >
> > >
> >
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]
-~----------~----~----~----~------~----~------~--~---