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] -~----------~----~----~----~------~----~------~--~---
