With_scope et current_user

Bonjour,

Sur mon site, des joueurs peuvent créer un jeu. Du coup, je veux
m’assurer que seul le créateur accède à certaines modifications.

Je voudrais (est-ce un bon choix ?) utiliser with_scope. Comme vu dans
un article [1], il faut utiliser with_scope dans le modèle, et non
dans le contrôleur.

J’ai donc une méthode find_mesjeux dans Jeux qui crée un scope sur les
jeux du joueur en question.

def self.find_mesjeux(current_joueur_id,*args)
with_scope :find => { :conditions => [ ‘joueur_id = ?’,
current_joueur_id ] } do
find(*args)
end
end

Ce qui me gêne un peu, c’est que comme on n’a pas accès à
“current_joueur” (c’est créé parle plugin restful_authentication et
çadonne le joueur actuellement connecté) dans le modèle, j’ai passé un
paramètre supplémentaire, current_joueur_id.

Du coup, dans le contrôleur, au lieu de faire un
find_mesjeux(params[:id]), je dois faire
find_mesjeux(current_joueur.id,params[:id]).

C’est pas tip-top, donc si vous pensez qu’on peut mieux s’y prendre,
n’hésitez pas !!!

gUI

[1] with_scope with scope — err.the_blog


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/

je ne connais pas ton modèle et test relations mais si un joueur
has_many jeux je ferais
current_joueur.jeux.find(…)

PS J’aime pô les noms en français :slight_smile:

current_joueur.jeux.find(…)

bin… tout simplement !!!

merci (-:

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/