Merci beaucoup pour cet exemple, je vais étudier ça avec grand intérêt
et je ferai le retour.

Merci.

On 13 mai, 14:35, Gregoire LEJEUNE <[email protected]> wrote:
> Je te donne un petit exemple. De tête donc à vérifier sur les détails.
>
> Imaginons que tu souhaites récupérer, dans une base de données par
> exemple, des informations sur un utilisateur. Dans la partie
> Cappuccino, tu va utiliser une CPURLConnection comme ceci :
>
> var request = [CPURLRequest requestWithURL:url];
> var connection = [CPURLConnection connectionWithRequest:request 
> delegate:self];
>
> Dans ce code, url est une variable contenant la route vers ton
> contrôleur Rails. Donc si par exemple tu as un ID pour ton
> utilisateur, tu peux coder une méthode comme ceci :
>
> -(void)getUserInformationByID:(int)userID
> {
>  var url = "/userinfo/"+userID
>  var request = [CPURLRequest requestWithURL:url];
>  var connection = [CPURLConnection connectionWithRequest:request
> delegate:self];
>
> }
>
> Maintenant dans Rails il te faut un contrôleur qui répond à la route
> /userinfo/ID. Ce contrôleur va renvoyer une réponse au fromat JSON.
> Disons un truc du genre :
>
> { :usreinfo => { :name => nameFromDB, :age => ageFromDB } }.to_json
>
> Maintenant, dans Cappuccino, il faut que tu créés deux délégués pour
> gérer la réponse :
>
> - (void)connection:(CPURLConnection)connection didReceiveData:(CPString)data
> {
>  var result = CPJSObjectCreateWithJSON(data);
>
>  if( result.userinfo )
>  {
>    // result.userinfo.name contient le nom
>    // result.userinfo.age contient l'age
>  }
>
> }
>
> Dans ce premier délégué, tu récupères les données (data) au format
> JSON via CPJSObjectCreateWithJSON. Ensuite dans dans result tu as bien
> l'attribut userinfo, c'est que tu es face à la réponse concernant tu
> user. Donc, tu peux récupérer les données : l'age via
> result.userinfo.age et le nom via result.userinfo.name. Je fais cela
> parce qu'il n'est pas rare d'utiliser ce délégué pour plusieurs types
> de requêtes. Note que tu peux également vérifier via la connexion.
>
> Le second délégué dont tu as besoin est :
>
> - (void)connection:(CPURLConnection)aConnection
> didFailWithError:(CPString)error
> {
>  alert(error);
>
> }
>
> Il sert simplement à traiter les cas d'erreurs.
>
> Voilà. J'espère que c'est plus clair.
>
> Greg
>
> Le 13 mai 2009 14:16, Zaphod Beeblebrox <[email protected]> a écrit :
>
>
>
>
>
> > C'est la jonction entre ton controller et cappucino. Tu fourni le
> > format json, ok, tu crée un fichier CPURLConnection et tu le mets où ?
> > C'est cette jonction que j'appréhendes mal, c'est pour ça que j'aurai
> > bien aimé un exemple de base, mais complet. C'est assez dommage que le
> > site n'en propose pas.
>
> > Merci.
>
> > On 13 mai, 10:39, Gregoire LEJEUNE <[email protected]> wrote:
> >> C'est très simple... En fait les échanges entre Rails et Cappuccino se
> >> font via JSON. Pour cela tu utilises CPURLConnection qui permet
> >> d'instancier cette connexion. Ensuite tu dois utiliser les delegate
> >> -connection:didReceiveData: et -connection:didFailWithError: pour
> >> traiter le retour envoyé par Rails (en JSON donc).
>
> >> Greg
>
> >> Le 13 mai 2009 08:37, Zaphod Beeblebrox <[email protected]> a écrit :
>
> >> > Bonjour à tous,
>
> >> > J'aimerai savoir si certains d'entre vous s'étaient frotté à
> >> > Cappuccino et si vous aviez des retours ou exemple simple (scaffold
> >> > rails branché sur Cappuccino) ?!
>
> >> > J'ai essayé de suivre l'exemple de Getting Started With Cappuccino and
> >> > Ruby on Rails mais je ne saisi pas bien la notion CPURLConnection qui
> >> > est censé mapper les actions entre le controller Rails et la vue
> >> > Cappuccino.
>
> >> > Donc je suis preneur d'explication ou d'exemple.
>
> >> > Merci.
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---

Répondre à