JeuWeb - Crée ton jeu par navigateur
[Résolu][Rails] Récupération de données composites de PostgreSQL avec MonModel.select - 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 : [Résolu][Rails] Récupération de données composites de PostgreSQL avec MonModel.select (/showthread.php?tid=5711)

Pages : 1 2 3 4


RE: [Rails] Récupération de donnée via Class.select("SQL").last - Sephi-Chan - 27-09-2011


@character.position.class

Si c'est un string, tu es baisé et il ne te restera plus qu'à utiliser des types de données plus conventionnels, à moins de parvenir à faire fonctionner les adapters.


RE: [Rails] Récupération de donnée via Class.select("SQL").last - Maz - 27-09-2011

Tendu comme un String...

Comment font les gens qui dev en ruby pour faire des jeux en se passant de ces types magiques XD

N'existes-t'il pas une fonction pour assigner une variable a une class et pouvoir l'utiliser ensuite du genre
Class Point
def initialize
#regex pour separer x et y et stockage dans une variable
end
def x
"#{x}" # J'ai pas encore compris pourquoi souvent on utilise cette syntaxe plutot que simplement: x
end
def y
"#{y}"
end
end
Class City < ActiveRecord::Base
def find
city = ActiveRecord::Base.find("la jme debrouille")
city.position.is_a_point # la fonction que je cherche
end
end



RE: [Rails] Récupération de donnée via Class.select("SQL").last - Sephi-Chan - 27-09-2011

Si c'est possible. Ça s'appelle la composition et c'est très bien géré. Avec ça tu remplaceras avantageusement ce type natif en terme de qualité du code (mais sûrement pas en performances).

ActiveRecord::Aggregations::ClassMethods



RE: [Rails] Récupération de donnée via Class.select("SQL").last - Maz - 27-09-2011

(27-09-2011, 10:13 PM)Sephi-Chan a écrit : Si c'est possible. Ça s'appelle la composition et c'est très bien géré. ActiveRecord::Aggregations::ClassMethods
Alors je sais sur quoi je vais me lancer...

J'espère juste pouvoir utiliser au moins les fonctions proposé par postgresql sur certains types (savoir si deux chemin se croise pourrait m'être utile et j'ai franchement pas envie de coder ça ,p)



RE: [Rails] Récupération de donnée via Class.select("SQL").last - Sephi-Chan - 27-09-2011

Si ces functions sont capables de travailler avec des chaînes de caractères, ça ne devrait pas poser de problème.
Admettons que tu crées une classe Path avec une méthode cross_path? qui prend un autre chemin en paramètre. Tu peux tout à fait mettre un appel à la base de données.

Après, je suis persuadé qu'il existe des gems prêtes à l'emploi pour ce genre de calculs, mais je vais te laisser le soin de les chercher.



RE: [Rails] Récupération de donnée via Class.select("SQL").last - Maz - 27-09-2011

Bah, j'arrive bien à faire des insert character avec des données position String, ils sont convertis en table... Le tout c'est que si je fasse un City.select("mafonctionchelou") ça ne m'enlève pas la moitié des données...

J'ai envoyé un message dans la mailing-list de RoR. S'ils n'ont pas de réponse plus positive, je m'y lancerais... Affaire à suivre.


RE: [Rails] Récupération de donnée via Class.select("SQL").last - Sephi-Chan - 27-09-2011

Bonne chance. :p

Je pense que c'est trop naze d'avoir des appels à select partout : ça rend le code illisible.
Mais de manière générale, tu ne devrais pas te battre contre le framework : c'est une perte de temps.


RE: [Rails] Récupération de donnée via Class.select("SQL").last - Maz - 28-09-2011

Bon, 24h sans réponse sur la mailing-list... Je suis seul au monde à ne pas vouloir installer un adapter à 99% useless... Tant pis, je me ranges et je vais installer un adapter useless. Snif.


RE: [Rails] Récupération de donnée via Class.select("SQL").last - Sephi-Chan - 28-09-2011

Moi je te conseille plutôt d'utiliser la composition. Smile


RE: [Rails] Récupération de donnée via Class.select("SQL").last - niahoo - 28-09-2011

ou de faire un adapter toi même