2011-03-14 4 views
0

Je développe un jeu de plateau à deux joueurs. En utilisant ruby ​​1.9.2, rails 3, postgres 8.4.Conserver une instance de classe de modèle sur le serveur entre 2 utilisateurs distincts

Je me demandais s'il est possible de créer une classe de modèle (appelée "Game") qui maintiendra l'état du jeu lorsque les 2 joueurs lui feront des appels ajax? (Emplacement actuel des pièces à bord, mouvement actuel, ect). En d'autres termes, est-ce que je peux faire ceci afin d'éviter de créer une table de base de données qui doit charger l'état de jeu à chaque tour de joueur?

S'il est possible, aucun exemple rapide serait beaucoup apprécié :)

Merci

+0

Quelle est la raison pour ne pas créer une table de base de données? Demandez-vous une solution NoSQL? Je suppose que vous voulez avoir un simple magasin d'objets Ruby disponible pour toutes les instances du serveur d'applications Rails, correct? –

+0

Aucune raison majeure pour cela, était juste curieux de savoir s'il était possible de le faire sans table DB. Supposons que je pensais juste que je pourrais réduire le nombre de mises à jour de base de données si je pouvais le faire d'une autre manière. Oui, en réponse à votre question sur les instances du serveur de l'application. Je peux utiliser une table DB, vraiment je n'ai pas beaucoup de temps, donc la solution la plus rapide est probablement la meilleure. Serait-ce l'option de la table de base de données? –

Répondre

0

Je pense que vous devez utiliser la base de données (ou tout autre stockage tiers), car si vous seriez en mesure de partager l'identifiant de session entre deux utilisateurs en quelque sorte, alors ce sera le trou de sécurité.

Je suggère le stockage mamcache si vous voulez de meilleures performances.

+0

Je vais regarder dans ce Ashish. Merci. –

+0

Je vais aller avec une solution DB pour le moment. Je pourrais envisager d'ajouter cette fonctionnalité memcache à l'avenir, semble intéressant. Merci Greg. –

0

Ne sais pas exactement, mais si utiliser gemme CanCan pour cela? Peut sembler étrange, mais peut-être deux rôles comme "joueur 1" et "joueur 2" fonctionnera)

+0

Dans ce cas, la base de données sera impliquée. – Ashish

+0

Je vais jeter un coup d'oeil à ce Kishie. Je cherche la solution la plus rapide. Peu importe si sa DB ou pas. –

Questions connexes