Le 3 février 2009 16:16, Arthur a écrit : >> On arrive souvent avec des gros gros models sous Rails, genre des >> user.rb qui sont interminables. >> >> Est-ce que vous avez des best pratices à recommander pour gérer ça ? > > J'aime bien l'approche trouvée dans altered_beast du "concern_with" :
Oui, c'est ce que DHH appelle des "concerns", qu'il met dans app/concerns Techno-weenie a repris l'idée d'une manière un peu différente, illustré comme l'indique Arthur, et comme le décrit Lifo : http://m.onkey.org/2008/9/15/active-record-tips-and-tricks > cf. > http://github.com/courtenay/altered_beast/blob/bd2322c7877d3f51daf9ea7320a25a0219896305/config/initializers/concerns.rb > class << ActiveRecord::Base > def concerned_with(*concerns) > concerns.each do |concern| > require_dependency "#{name.underscore}/#{concern}" > end > end > end > > et dans le model user : > http://github.com/courtenay/altered_beast/blob/bd2322c7877d3f51daf9ea7320a25a0219896305/app/models/user.rb > class User < ActiveRecord::Base > concerned_with :states, :activation, :posting, :validation > end Henrik Nyh a le même concept sous un nom différent (augmentations) formalisé par un plugin : http://github.com/henrik/augmentations/tree/master -- Jean-François. -- http://twitter.com/underflow_ --~--~---------~--~----~------------~-------~--~----~ 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] -~----------~----~----~----~------~----~------~--~---
