Ouverture de session

Commentaires récents

Syndication
Flux XML

RESTful, AJAX, JSON et mise à jour de la page côté client

RESTful, AJAX, JSON et mise à jour de la page côté client
Posté par PierreY le Vendredi, 16 Novembre, 2007 - 6:33pm. Débuter avec Rails

Salut,

J'ai un problème de conception que je ne vois pas comment résoudre proprement. Je suis en train de réaliser une petite application rails "RESTful" (j'ai utilisé scaffold_resource) et je voudrais rendre les créations/modifications/suppressions totalement AJAX. Je voudrais aussi optimiser la taille des paquets retournés par AJAX en utilisant JSON et en réalisant toutes les opérations de mise à jour du DOM côté client.

Eh bien je ne vois absolument pas comment faire. Pour AJAXiser les choses depuis scaffold_resources j'ai modifié les link_to et les form_for par leur version remote, j'ai déplacé les blocs concernant la mise en forme HTML des objets dans des partials pour les pouvoir les utiliser avec RJS et globalement ça fonctionne. Ce qui m'ennuie c'est de renvoyer du HTML formatté. Je préférerais renvoyer la version sérialisée JSON d'un objet du modèle et faire en sorte que la création des tags se fasse côté client.

Existe-t-il des exemples de ce genre de réalisations, j'ai écumé tous les résultats de google avec les termes rails, ajax, json, rest sans succcès.

Merci pour votre aide. Cordialement,

--
Pierre Y.



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
même souci .... 6 mois plus tard
Auteur: 
Guen
Date: 
Mer, 23/04/2008 - 18:30

Bonjour,

Avez-vous trouvé une solution ? je me pose aujourd'hui les mêmes questions et donc serait ravi si vous pouviez me donner des indications.

Cordialement,

Guénaël


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
Bonjour, Rails possède une
Auteur: 
hery
Date: 
Jeu, 24/04/2008 - 11:01

Bonjour,
Rails possède une intégration de json. La magie est que ce soit JSON, XML, HTML ou tout autre format qu'on peut trouver/inventer, Rails permet de ke coder proprement ...
Des exemples il y en a pas mal sur le net. Comme j'ai utilisé Extjs pour un projet, je vous conseillerai de regarder dans le code de l'intégration Rails + Extjs notamment le plugin ext_scaffold

Une petite recherche sur google (Rails + Extjs / JSON ) vous permettra sûrement de mieux cerner le sujet ( REST + JSON + javascript only côté client )

Sinon un petit "sample" qui va tout aussi bien pour du json que pour du xml ou le html

Dans le controlleur


# Restful method : GET + id
def show

@user = User.find(params[:id])

# Permet de renvoyer soit des données JSON, soit des données XML soit une vue HTML
respond_to do |format|
format.json{ render :json => @user.to_json }
format.xml{ render :xml => @user.to_xml}
format.html{}
end
end

Dans le cas du dessus le format de la requête Ajax étant en JSON :
Il faudra donc faire dans la vue

<%= link_to_remote "Show this user", :url => user_path(1,:format => :json), :loaded => "do_what_you_want_with(request);", :method => :get %>

PS : Attention à la method de la requête ajax ... par défaut c'est POST.

En espérant aider


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
37%
Mac OS X
29%
Windows
32%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 356

Qui est en ligne
Il y a actuellement 1 utilisateur et 46 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]