Hello Cédric, Les engines rails sont plus pensés pour être des applications indépendentes qui se greffent sur une autre application. Si tu veux une relation de dépendence entre ta lib et l'app host, tu devrais plutôt faire une gem classique.
Si tu veux à la fois pouvoir faire de l'héritage et avoir des routes / controllers greffés sur ton app, le mieux est probablement d'opter pour une solution mixte : une gem qui regroupe les classes dont ton app va se servir et un engine qui utilise ces mêmes classes pour mettre en place ses actions. On 06:37 Wed 06 Feb , Codii wrote: > Salut tous, > > d'abord, pourquoi est-ce que je me suis intéressé *mountable engines* ? Je > viens du monde Java et on a l'habitude en Java modulariser les classes le > plus possible. > Ainsi, j'ai voulu faire un engine qui pourrait greffer à plusieurs > applications un lot de controleurs et models, le coeur du métier de mon > application. > > J'ai été confronté à deux problèmes de conception : > > 1. Les modèles qui sont définis dans mon engine devraient pouvoir être > "augmentés" pour les besoins des applications hôtes. > Concrètement : > > - Je définis dans mon engine un modèle User ou Engine::User dans mon > application hôte. Mon app hôte utilise Devise. Donc je voudrais pouvoir > greffer devise au modèle User de mon engine. Comment faire proprement ? > > 2. Je voudrais accéder aux modèles définis par mon engine dans le namespace > global, Engine::User au lieu de User. > > Le plus frustrant et bloquant pour moi est de ne pas trouver de ressource > assez explicites illustrant le juste moyen de faire ça. > > Merci pour votre attention. > > -- > -- > 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] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > Railsfrance. > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out > . > > -- Olivier El Mekki. -- -- 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] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
