JeuWeb - Crée ton jeu par navigateur
Relation HABTM - 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 : Relation HABTM (/showthread.php?tid=1925)



Relation HABTM - popayan - 30-09-2010

Bonjour,

Petite question à Sephi (et aux autres également Smile ): dans le Pas à pas de Spherium, tu ajoutes un univers au compte dynamiquement, j'ai bien compris comment tout fonctionne et j'essaie de m'en inspirer pour mon développement sauf que mon cas est légèrement plus compliqué.

Je crée une équipe via un formulaire et ensuite je veux l'ajouter à une ligue. Sauf qu'une équipe pourra être ajouter à plusieurs ligues d'où la relation HABTM. Ma question est que je n'arrive pas à reproduire un morceau de ton code pour mon cas:


def setup_universe
self.universe = Universe.find_or_create_open_universe
end

j'ai essayé pas mal de chose sans grande réussite, ce que je pensais le plus probable:


def add_to_league
self.leagues = League.find_or_create_open_league
end

mais je tombe sur une erreur du style "undefined method each for League"

merci d'avance pour votre aide!


RE: Relation HABTM - Sephi-Chan - 30-09-2010

Normal, tu mets une League là où on attend un tableau de Leagues. Smile
Il faut plutôt faire :


def add_to_league
self.leagues = [ League.find_or_create_open_league ]
end

Ou :


def add_to_league
self.leagues ||= []
self.leagues << League.find_or_create_open_league
end


Sephi-Chan


RE: Relation HABTM - popayan - 30-09-2010

arf!, j'étais pas loin quand même Smile
j'essaie ca cet aprem, merci du coup de main!

edit:
Donc ca marche très bien Smile
Le pire c'est que je faisais exactement ca dans la console pendant mes tests...