Tu peux aussi regarder pour faire des acts_as_something pour tes modèles.
Ça te donnerais beaucoup de souplesse. Lors de la création d'un nouvelle
application tu as juste à créer un nouveau modèle et de rajouter une ligne
de code.

Je ne sais pas si c'est la solution idéal mais c'est une option.

Le 6 février 2013 11:08, Olivier El Mekki <[email protected]> a écrit :

> Si tu tiens à tout avoir dans une seule dépendence, rien ne t'empêche de
> mettre dans le lib/ de ta gem/engine ce que j'aurais mis dans la
> gem/vanilla.
>
> Le problème du app/models/ de l'engine est qu'il fonctionne par override,
> et non par namespace : si tu as un app/models/user.rb dans ton engine et
> un app/models/user.rb dans ton app, la version de l'engine sera ignorée.
> Ce n'est pas fait pour cela, c'est le rôle du lib/ d'une gem classique.
>
> On 07:55 Wed 06 Feb     , Codii wrote:
> > Je ne comprends pas tout dans ta réponse, Thierry, mais pour préciser
> > simplement : J'ai commencé un projet rails dans lequel j'avais mes
> modèles
> > et controleurs définis de façon classique dans l'application utilisant
> > Devise.
> > J'ai voulu ensuite réutiliser ces modèles et controleurs dans une autre
> > application (qui n'utiliserait pas Devise), d'où l'engine.
> > De ce que j'ai compris de la réponse d'Olivier, je devrais simplement
> créer
> > une gem qui contiendrait les modèles Mongoid et controleurs et l'ajouter
> à
> > mon engine, qui serait à son tour inclus dans mes applications hôtes ?
> Mais
> > là, vous me perdez complètement !
> > Est-ce la seule façon de régler le problème ? N'y a-t'il pas plus simple
> ?
> >
> > Merci !
> >
> > Le mercredi 6 février 2013 16:04:45 UTC+1, thierry.henrio a écrit :
> > >
> > > Salut
> > >
> > > 2013/2/6 Codii <[email protected] <javascript:>>
> > >
> > >
> > >> 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.
> > >>
> > >
> > > IHMO, c'est pas une bonne idée
> > >
> > > 1- c'est pas dans le bon sens : prévoir des libs, des engines avant
> > > d'avoir un machin qui marche
> > > fais le marcher et extraie une lib, un engine
> > > ( ca n'a rien à voir avec rails ou java )
> > >
> > > 2- pas top les namespaces pour les modèles dans rails
> > > J'ai essayé une fois avec un User pour devise il me semble, et je me
> suis
> > > pris un gros fail en rails 3
> > >
> > > 2c, Thierry
> > >
> > >
> >
> > --
> > --
> > 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 .
>
>
>

-- 
-- 
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 .


Répondre à