Salut, sans rentrer dans les détails spécifiques de ton problème...
Mais lorsque j'ai du code qui se répète dans les modèles, je crée un
plugin ActiveRecord tout simplement.

Style acts_as_machin, has_a_machin, etc.
Au début ça me faisait peur de créer des plugins, c'est plus le cas
désormais :).

Ça permet déjà de DRY-ifier un peu le code en attendant de l'optimiser
davantage.

Nicolas (Novelys).

2009/6/26 Tranquiliste <[email protected]>:
>
> Bonjour,
>
> J'aimerai un conseil sur l'optimisation de code. J'ai plusieurs
> modèles
>
> building
>  has_many roles
>
> role (qui porte aussi le type de role, admin, proprio,
> locataire, ...)
> belongs_to building
> belongs_to user
>
> user
> has_many roles
>
> Et j'ai un certain nombre de methodes qui ressemblent à :
>
> def find_admins_of
>  roles = self.roles
>  admins = []
>  for role in roles
>   admins << User.find(role.user_id) if role.role_type_id ==
> Role::ADMIN
>  end
> admins
> end
>
> J'ai bien conscience que ce n'est sans doute pas la meilleure méthode,
> car beaucoup de requêtes sont générées. J'ai pensé à faire un
> has_many, through
> mais je n'arrive pas à trouver le bonne syntax pour mettre la
> condition sur le role.role_type_id (sur le model role)
>
> Merci de votre aide
> Nicolas
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
-~----------~----~----~----~------~----~------~--~---

Répondre à