C'est un plaisir !

Le 13 mai 2009 15:51, Zaphod Beeblebrox <[email protected]> a écrit :
>
> 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 à