JeuWeb - Crée ton jeu par navigateur
Rails, Ajax et éditeur de cartes - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Rails, Ajax et éditeur de cartes (/showthread.php?tid=5157)

Pages : 1 2 3


RE: Rails, Ajax et éditeur de cartes - popayan - 10-09-2010

j'ai un doute, as tu vu l'édition de mon message précédent?

si oui, le résultat du raise à l'air cohérent, les paramètres sont corrects.


RE: Rails, Ajax et éditeur de cartes - Sephi-Chan - 10-09-2010

Non je n'avais pas vu l'édition.

(10-09-2010, 10:48 AM)popayan a écrit : par contre, j'ai encore une erreur 'undefined local variable or method 'html_for_tile''

C'est parce que tu as une erreur dans ta vue update.js.haml. Elle devrait contenir ça.


- html_for_tile = escape_javascript(render('tile', :map => @map, :tile => @tile))

:plain
var tile = $('#{@tile.id}');
tile.insert('#{html_for_tile}');

Edit : ajout du tiret devant la première ligne, pour que le code soit évalué par Ruby.


Sephi-Chan


RE: Rails, Ajax et éditeur de cartes - popayan - 10-09-2010

si je te dis que c'est déjà le cas Smile

sinon la trace complète
http://img838.imageshack.us/img838/9539/testqy.png


RE: Rails, Ajax et éditeur de cartes - Sephi-Chan - 10-09-2010

Essaye avec ça : avant la première ligne n'était pas interprétée par Ruby.


- html_for_tile = escape_javascript(render('tile', :map => @map, :tile => @tile))

:plain
var tile = $('#{@tile.id}');
tile.insert('#{html_for_tile}');


Sephi-Chan


RE: Rails, Ajax et éditeur de cartes - popayan - 10-09-2010

ok, j'ai plus d'erreur dans la console mais pas d'update de la case... j'essaie de voir pourquoi.


RE: Rails, Ajax et éditeur de cartes - Sephi-Chan - 10-09-2010

Si tu utilises le serveur Unicorn, les informations données par la console sont plutôt limitées, c'est pourquoi sous Unix j'utilise un autre terminal qui affiche uniquement le fichier logs/development.log (grâce à la commande [font=Courier]tail -f logs/development.log[/font–mais je ne connais pas l'équivalent pour Windows). Si c'est ton cas, jette un œil au fichier de log. Si ce n'est pas le cas, tu as donc le log des actions effectuées en base de données.

Après, tu n'as peut-être pas le même modèle que celui que j'ai supposé dans mes exemples, ou peut-être que tu l'as mal adapté, etc.

S'il n'y a aucun changement sur l'object et que tu le sauvegardes, aucune requête n'est effectuée (donc si tu remplaces une tuile par la même tuile, ça ne fera rien).

N'hésite pas à balancer des informations dans ta console (que ce soit dans la console Javascript ou dans la console du serveur, en générant des erreurs par exemples.


raise @tile.to_yaml # Tu peux balancer ça dans ton contrôleur afin de provoquer une erreur (qui affichera ce que tu lui demandes dans la console du serveur).

Ou même en profitant de JSON dans la vue pour balancer ça dans ta console Javascript. Smile


:plain
console.log(#{@tile.to_json});


Sephi-Chan


RE: Rails, Ajax et éditeur de cartes - popayan - 11-09-2010

Merci Sephi pour tout ce temps passé. Ca fonctionne "a peu près" mais de toute façon je vais avoir un gros boulot d'adaptation quand j'en aurais vraiment besoin ^